目标站:腾邦国际手机APP(腾邦旅行)
逛腾邦国际(http://bj.feiren.com/)的时候,发现页面下方有个APP下载,于是检测了一下。
发现以下地方存在布尔/时间盲注:(注入参数:<status i:type="d:string">Y'</status>)
扔SQLMap里面,发现无法出数据:
莫非被过滤了?于是把SQLMap代理过来查看其数据包:
1)从上图可知,SQLMap走的是时间盲注路线。刚开始的时候,发包检测网站可用性,都正常返回,如下图
2)接着,开始发包进行时间盲注以注入出数据,但是发了几次包页面都出错了,导致SQLMap无法判断而异常结束,如下图
最后SQLMap只得返回:current database: None……
既然SQLMap不会自己纠错,我们就顺着SQLMap的思路来看吧~对SQLMap所发的注入包进行手工修改并注入,后来发现貌似是有些关键词被过滤了或无法执行,如NVL/CAST、select等,下面是执行select时的报错
知道过滤了啥就好办了,不妨换个语句来注入。这里我选择了布尔型来注入出当前用户,步骤如下:
1)首先判断当前用户长度,正确返回则语句为True,最后得知长度为6
2)同理,接着跑这六个字符
写了个Python
最后结果输出:user()='MOBILE'
安全性考虑,其他的就不跑了~~