|
sqlmap的注入post注入,说白了就是注入对付那些把参数藏在表单里的网站。很多人以为装了waf就万事大吉,注入结果sqlmap一个--forms参数扫过去,注入照样给你翻个底朝天。注入 有一次我测试一个内部管理系统,注入登录框做得挺像那么回事——密码加密传输,注入验证码动态刷新。注入我手工试了试,注入发现用户名那里有个诡异的注入报错,但被自定义错误页挡住了。注入这时候手工猜字段名太蠢了,注入直接上sqlmap。注入命令很简单: 它先提交了一堆垃圾数据,观察响应差异。注意看它的输出,如果出现"parameter 'username' is injectable",那就成了。但post注入有个坑——很多参数不是直接暴露在URL里的,你得给它提供请求体。常见做法是先用burp抓个包,把整个post数据存成文件,然后 再聊个细节。sqlmap默认会跑一堆payload,但碰上后端做了参数过滤,比如把单引号转义了,它就容易卡死。这时候得手动指定注入点: 说个真实案例。之前测一个电商后台,登录接口用了JSON格式传输,不是标准的key=value。sqlmap默认不认识JSON,直接报错"unrecognized content type"。解决办法是手动构造注入payload,用 还有别忽略https站点。sqlmap默认会验证证书,碰上自签名证书直接拒绝连接。加个 最后说句实在话——sqlmap的post注入核心就三步:拿到真实请求包、确定注入参数、选对注入技术。别一上来就跑默认配置,先看响应码、响应时间、错误页特征。工具再强,也得你判断往哪儿打。手动测出个大概位置,再用sqlmap扩大战果,这比盲扫效率高一倍不止。 |
