漏洞概要 关注数(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标签: 无
漏洞详情
披露状态:
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准备跑一跑,结果给我看这个
我开始还以为是误报,然后手工看了下
确定是有注入点的,然后脑补了一下,难道是我跟不上潮流了,有什么新的高大上的数据库出来了,然后用手工确定是不是mysql
是的啊,
看报错界面
也是的哇
为什么sqlmap不出来,难道是有waf或者是厂商自己写了过滤器?
就先往下尝试
(select length(user()))=*
确定用户长度是17
那就一个一个尝试吧,后来在手工的过程中逐步确认了可能的原因
举个例子
ELT((ASCII(SUBSTR(user(),3,1)))>118,SLEEP(2))
ELT((ASCII(SUBSTR(user(),3,1)))>119,SLEEP(2))
本来应该是这样美好的判断是119的,然而重复提交几次119请求结果发现了一次延时,对,没错就是延时
于是我在想为什么哇,于是我在115至120之间每一个数字都重复提交多次,结果是这样的
115-118之间不过提交多少次都是延时,而119-120重复提交多次有一次延时。奇葩啊,怪不得工具跑不出来,这种特例需要针对性的写工具才行,需要重复的判断,根据大量请求来稳定概率。
漏洞证明:
由于是延时 由于是手工
就尝试推举user的前四位
ELT((ASCII(SUBSTR(user(),1,1)))>109,SLEEP(2))
ELT((ASCII(SUBSTR(user(),1,1)))>110,SLEEP(2))
110 n
按照ELT((ASCII(SUBSTR(user(),*,1)))>109,SLEEP(2))在*出不断的加1,然后推出
前四位是newa
修复方案:
1.结构化查询sql语句
2.过滤对业务没有影响的特殊字符
3.针对这个漏洞应该过滤特殊函数,如果对业务有影响就用规则来过滤
版权声明:转载请注明来源 大懒@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2015-04-15 22:07
厂商回复:
感谢您提交漏洞
最新状态:
暂无