本文仅作为技术讨论及分享,严禁用于任何非法用途。
前言
在日常使用sqlmap中,可能我们会遇到明明手工注入能发现注入点,但是sqlmap发两个包就不再往下跑了,这是怎么回事呢?又该如何解决?
案例
这是一个注入点,但是sqlmap只发了两个包
根据上面的提示,sqlmap应该是因为响应包状态码为401
,认为需要授权,实际上是该注入点比较特殊,数据格式异常或者命中拦截规则的时候会返回401
状态码
正常访问的响应:
数据格式异常:
这个时候最简单的办法,当然是通过burp把响应包改掉了,我们只要在burp新建一条自动匹配修改规则即可,让burp自动把401
的状态码改成200
创建成功后,把sqlmap的代理设置成burp即可,如:
1 | sqlmap -r tmp\sql2.txt --proxy http://192.168.154.137:8080 |
这个时候可以看到sqlmap能正常往下测试了: