如何解决SQLMap报错:[CRITICAL] page not found (404)
SQLMap 测试自有网站时出现404错误的解决思路
我在使用SQLMap测试自有网站时,每次输入目标URL都会触发404报错,具体报错信息如下:
[*] starting @ 19:26:01 /2023-07-24/
[19:26:02] [INFO] testing connection to the target URL
[19:26:02] [CRITICAL] page not found (404)
it is not recommended to continue in this kind of cases. Do you want to quit and make sure that everything is set up properly? [Y/n]
[19:26:02] [WARNING] HTTP error codes detected during run:
404 (Not Found) - 1 times[*] ending @ 19:26:02 /2023-07-24/
使用的命令:
sqlmap -u 'http://examplepage/page.php?i5d='
原本期望SQLMap能正常连接该URL并运行测试,求解决方法。
排查解决步骤
- 验证URL有效性
直接在浏览器或用curl http://examplepage/page.php?i5d=命令访问目标地址,确认是否真的返回404。如果浏览器也无法打开,说明URL本身存在问题——可能是域名拼写错误、页面路径不对,或者服务器上该页面已被删除/移动。 - 补充参数测试值
部分页面要求参数i5d必须携带有效值才能正常返回内容,尝试给参数添加测试值,比如用sqlmap -u 'http://examplepage/page.php?i5d=1'重新测试。 - 检查网络连通性
用ping examplepage或traceroute examplepage确认域名能正常解析、服务器可连通。如果是本地测试,确保服务器在本地网络内可达,80端口(或自定义端口)处于监听状态。 - 规避服务器拦截
若浏览器能访问但SQLMap报404,大概率是服务器防火墙、WAF拦截了SQLMap的请求。可以尝试添加参数:--random-agent:模拟不同浏览器的请求头--delay 1:降低请求频率,避免被判定为恶意请求
- 修正命令格式
检查URL的引号使用,尝试去掉单引号执行:sqlmap -u http://examplepage/page.php?i5d=,或改用双引号包裹URL。
内容的提问来源于stack exchange,提问作者t200b
相关产品推荐
相关产品推荐

