当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-070651

漏洞标题:Maccms asp版本后台XSS盲打

相关厂商:maccms.com

漏洞作者: story

提交时间:2014-08-04 12:29

修复时间:2014-11-02 12:30

公开时间:2014-11-02 12:30

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-04: 细节已通知厂商并且等待厂商处理中
2014-08-05: 厂商已经确认,细节仅向厂商公开
2014-08-08: 细节向第三方安全合作伙伴开放
2014-09-29: 细节向核心白帽子及相关领域专家公开
2014-10-09: 细节向普通白帽子公开
2014-10-19: 细节向实习白帽子公开
2014-11-02: 细节向公众公开

简要描述:

Maccms ASP版本后台盲打。

详细说明:

/inc/ajax.asp 255行reporterr函数

sub reporterr()
dim g_vid,g_name,g_content,g_audit,g_ip,g_time
g_vid = be("post","g_vid") : g_vid = chkSql(g_vid, True)
g_name = be("post","g_name") : g_name = chkSql(g_name, True)
g_content = be("post","g_content") : g_content = chkSql(g_content, True)
if not isNum(g_vid) then alert "请填写正确参数" : exit sub
if len(g_name) > 64 then g_name = left(g_name,64)
if len(g_content) > 255 then g_content = left(g_content,255)
if app_gbookaudit=1 then g_audit=0 else g_audit=1
g_ip = getIP()
g_time = Now()
If getTimeSpan("lastreportErrTime") < app_gbooktime Then alert "请稍后再试": Exit Sub

objdb.add "{pre}gbook", Array("g_vid","g_audit","g_name", "g_ip", "g_time", "g_content"), Array(g_vid, g_audit, g_name, g_ip, g_time, g_content)
Session("lastreportErrTime") = Now
writeA "报错成功,多谢支持!<script>setTimeout(""window.close()"",1000)</script>"
end sub


获取了用户提交的留言信息。其中调用getIP()获得IP地址,看看

function getIP()
dim x, y
x = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
y = Request.ServerVariables("REMOTE_ADDR")
if(isN(x) or lCase(x)="unknown") then getIP=y else getIP=x
if instr(getIP,".")=0 then getIP = "0.0.0.0"
end function


从HTTP_X_FORWARDED_FOR获得IP,并且没有过滤。
不过注入是不行了,可以XSS盲打。
数据库路IP字长是32字符,基本满足最短盲打要求,而且可以拼接。我就不多提了,只演示一下弹窗。

漏洞证明:

提交的时候改包:

004.jpg


后台查看留言的时候弹窗:

005.jpg

修复方案:

过滤

版权声明:转载请注明来源 story@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-08-05 14:11

厂商回复:

漏洞已经确认,稍后修复加强xss过滤。

最新状态:

暂无