You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLMap测试本地Mutillidae注入时提示无法连接目标URL报错

问题描述

在运行于虚拟机的Kali Linux 5.17.0-kali3-amd64环境中本地部署Mutillidae 2.8.82,使用SQLMap测试博客提交页面的插入型SQL注入漏洞时,程序仅发送少量请求就终止运行,抛出如下连接错误:

sqlmap -r muti_header.txt --dbms=mysql --dbs -p 'blog_entry' --proxy 'http://127.0.0.1:8080' -vv
...

[14:44:22][14:44:22] [CRITICAL] unable to connect to the target URL or proxy. sqlmap is going to retry the request(s)
[14:44:22] [DEBUG] unable to connect to the target URL or proxy. sqlmap is going to retry the request
[14:44:22] [DEBUG] unable to connect to the target URL or proxy. sqlmap is going to retry the request
[14:44:22] [CRITICAL] unable to connect to the target URL or proxy

使用的muti_header.txt请求文件内容如下:

POST /mutillidae/index.php?page=add-to-your-blog.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://localhost/mutillidae/index.php?page=add-to-your-blog.php
Content-Type: application/x-www-form-urlencoded
Content-Length: 80
Origin: http://localhost
Connection: keep-alive
Cookie: language=en; cookieconsent_status=dismiss; welcomebanner_status=dismiss; continueCode=RNJMDy9vxX2pbowKOljEd8BtKTDiL2fyZHK9Syb0YZm6r1az8gq5Pk37BQWL; PHPSESSID=9lun8j8de1335bolvj8svg5tds; showhints=1
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1

csrf-token=&blog_entry=qwqweq&add-to-your-blog-php-submit-button=Save+Blog+Entry

已确认的异常现象:

  • Burp Suite中可观测到所有SQLMap发出的请求均返回200状态码
  • 浏览器刷新对应页面时,可看到大量已提交的SQL测试语句记录
  • 已尝试添加--random-agent参数、移除--proxy配置,问题仍未解决
  • 当前环境后端数据库版本为10.6.7-MariaDB-3
排查解决步骤
  • 修正请求文件的参数转义错误:保存的POST请求体中,参数分隔符&被HTML转义为&,SQLMap读取文件时会将其识别为参数值的一部分,发出的请求参数格式不符合预期,会触发SQLMap的连接失败误判。直接将请求体中所有&替换为&即可。
  • 跳过启发式连接检测:执行命令追加--skip-heuristic参数,关闭SQLMap默认开启的启发式页面可用性校验。Mutillidae作为靶场环境,注入payload触发的页面报错、结构变化会被该检测逻辑误判为连接不可用,直接终止扫描流程。
  • 调整连接容错参数:追加--timeout=30 --retries=5 --ignore-redirects参数,规避本地环境响应波动、应用302跳转导致的连接判定错误。如果仍触发报错,可再加--no-cast参数,关闭结果类型自动转换逻辑,减少异常请求特征。
  • 校验Host头配置:确认请求文件中Host字段值和浏览器访问靶场的地址完全一致,如果浏览器通过127.0.0.1访问,就将Host: localhost修改为Host: 127.0.0.1,避免虚拟主机路由不匹配导致的部分请求响应异常。
  • 检查代理规则配置:走Burp代理时,关闭Burp的自动修改请求、自动更新Content-Length功能,这类规则修改请求后会导致SQLMap收到的响应和预期特征不匹配,触发连接失败误判。
  • 确认靶场安全级别:将Mutillidae的安全级别调整为0,关闭高安全级别下的CSRF token校验、输入过滤机制,避免防护逻辑拦截payload导致的响应异常。

内容的提问来源于stack exchange,提问作者Guilherme Tomishiyo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:15:44