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

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

缺陷编号:wooyun-2015-0108067

漏洞标题:艾普宽带某站奇葩时间手工盲注漏洞

相关厂商:艾普宽带

漏洞作者: 大懒

提交时间:2015-04-15 19:46

修复时间:2015-05-30 22:08

公开时间:2015-05-30 22:08

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:9

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

艾普宽带某站奇葩时间盲注两枚,sqlmap无法识别其数据库。

详细说明:

首先放出两枚存在问题的URL
1.http://cd.aipu.com/m_news.php?id=
2.http://cd.aipu.com/weixiu/?are=
首先扫到该注入点,放到sqlmap准备跑一跑,结果给我看这个

1.png


我开始还以为是误报,然后手工看了下

2.png


3.png


确定是有注入点的,然后脑补了一下,难道是我跟不上潮流了,有什么新的高大上的数据库出来了,然后用手工确定是不是mysql

4.png


是的啊,
看报错界面

1.png


也是的哇
为什么sqlmap不出来,难道是有waf或者是厂商自己写了过滤器?
就先往下尝试
(select length(user()))=*

1.png


2.png


3.png


确定用户长度是17
那就一个一个尝试吧,后来在手工的过程中逐步确认了可能的原因
举个例子
ELT((ASCII(SUBSTR(user(),3,1)))>118,SLEEP(2))

1.png


ELT((ASCII(SUBSTR(user(),3,1)))>119,SLEEP(2))

2.png


本来应该是这样美好的判断是119的,然而重复提交几次119请求结果发现了一次延时,对,没错就是延时

3.png


于是我在想为什么哇,于是我在115至120之间每一个数字都重复提交多次,结果是这样的
115-118之间不过提交多少次都是延时,而119-120重复提交多次有一次延时。奇葩啊,怪不得工具跑不出来,这种特例需要针对性的写工具才行,需要重复的判断,根据大量请求来稳定概率。

漏洞证明:

由于是延时 由于是手工
就尝试推举user的前四位
ELT((ASCII(SUBSTR(user(),1,1)))>109,SLEEP(2))

1.png


ELT((ASCII(SUBSTR(user(),1,1)))>110,SLEEP(2))

2.png


110 n
按照ELT((ASCII(SUBSTR(user(),*,1)))>109,SLEEP(2))在*出不断的加1,然后推出
前四位是newa

修复方案:

1.结构化查询sql语句
2.过滤对业务没有影响的特殊字符
3.针对这个漏洞应该过滤特殊函数,如果对业务有影响就用规则来过滤

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-04-15 22:07

厂商回复:

感谢您提交漏洞

最新状态:

暂无


漏洞评价:

评论