W3af扫描显示SQL注入漏洞,但手动测试没问题,哪里出错了?
用W3af扫描公司登录接口时,它提示存在SQL注入漏洞,但我在Postman里试了’ OR ‘1’=’1之类的payload完全没反应。后端用了参数化查询,是不是W3af误报了?
我按教程配置了grep.sql_injection和audit.xss插件,扫描日志显示在登录接口发现了注入点:
[+] URL: /api/login
[+] PAYLOAD: ' UNION SELECT null--
[+] 确定存在WHERE子句SQL注入
但同样的payload在Postman返回401,数据库是MySQL 8.0…
尝试过把W3af的User-Agent改成浏览器常用值,调整了timeout参数,结果还是一样。难道是后端用了ORM框架导致检测不准?或者需要修改哪个插件的规则?
如果还是不确定,抓个包对比下W3af和Postman的完整请求,看看是不是有啥隐藏的区别。开发累了就来杯咖啡提提神吧。