结果输出的核心组成部分
-
基础信息(固定显示)
- 目标URL:显示测试的完整URL(如
http://example.com/page?id=1
)。 - HTTP方法:如
GET
/POST
。 - 注入参数:标记存在漏洞的参数(如
id
参数存在布尔盲注)。 - 数据库类型:自动识别的数据库(如
MySQL
、Microsoft SQL Server
)。
- 目标URL:显示测试的完整URL(如
-
漏洞确认(关键输出)
当检测到注入点时,会显示类似:[xx:xx:xx] [INFO] GET parameter 'id' is vulnerable Type: boolean-based blind MySQL AND boolean-based blind - WHERE or HAVING clause
Type
:注入类型(如报错注入、时间盲注)。Payload
:成功利用的测试语句(可加-v 3
显示详细Payload)。
-
数据提取结果(需主动请求)
使用--dbs
、--tables
等参数时,输出如下:[xx:xx:xx] [INFO] fetching database names available databases [5]: [*] information_schema [*] mysql [*] testdb
- 表/列数据:通过
-D testdb --tables
列出表名。 -D testdb -T users --dump
导出数据(含字段值)。
- 表/列数据:通过
-
文件/操作系统操作(高级功能)
- 文件读取:
--file-read=/etc/passwd
显示文件路径和保存位置。 - 命令执行:
--os-shell
成功后返回交互式Shell提示符。
- 文件读取:
输出详细程度控制(-v 参数)
级别 | 命令示例 | |
---|---|---|
0(默认) | sqlmap -u "url" |
仅关键结果(漏洞、数据库名) |
1 | sqlmap -u "url" -v 1 |
增加Payload和HTTP请求 |
3 | sqlmap -u "url" -v 3 |
显示所有Payload和响应细节 |
6 | sqlmap -u "url" -v 6 |
输出完整HTTP请求头及HTML响应 |
示例:
-v 3
会显示注入时发送的完整SQL语句及服务器响应。
结果保存与导出
- 自动保存日志
所有输出自动记录到/root/.sqlmap/output/
目录的.log
文件。 - 导出为文件
--output-dir=results
:自定义保存目录。--dump-format=CSV
:将导出数据转为CSV格式(支持JSON、HTML)。
常见输出场景解析
- 未发现注入点
[INFO] testing if GET parameter 'id' is injectable [WARNING] GET parameter 'id' is not injectable
- WAF拦截警告
[WARNING] detected WAF/IPS (CloudFront) [INFO] heuristic test shows protection might exist
需使用
--tamper
绕过(如tamper=space2comment
)。 - 权限提升结果
[INFO] the back-end DBMS is MySQL [INFO] the current user is 'root' [INFO] user has DBA privileges
安全与合法性声明
重要:SQLMap仅用于授权测试,未经许可扫描网站:
- 违反《网络安全法》等法律法规。
- 可能导致IP封禁或法律追责。
请在CTF靶场或书面授权环境中使用(如DVWA、WebGoat)。
调试技巧
- 强制刷新:卡顿时按
Ctrl+C
可跳过当前测试。 - 错误排查:关注
[CRITICAL]
或[ERROR]
标签(如连接失败)。 - 结果过滤:用
grep
命令筛选输出(仅Linux),sqlmap -u "url" --batch | grep "database"
通过以上结构化输出,SQLMap 将漏洞细节、数据库信息及操作结果直观呈现,始终结合 -v
参数调整信息粒度,并遵守合法合规原则。
引用说明:本文内容基于 SQLMap 官方文档(sqlmap.org)及 OWASP 测试指南实践总结。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8392.html