什么是DNSLog
官网:http://dnslog.cn/
DNSLog 是一种用于安全测试的辅助工具,主要用于检测 无回显漏洞(如 SSRF、Blind SQLi、XXE 等)。它的核心原理是通过 DNS 协议记录目标服务器发起的 DNS 查询请求,从而间接验证漏洞的存在。
注意事项
- 时效性
DNSLog 生成的子域名通常有效期为 1-24 小时,超时后记录会被清除。 - 隐私风险
避免在公共平台测试敏感目标,防止数据泄露。 - 协议限制
某些环境可能禁止 DNS 出站,需结合其他检测方法(如 HTTP 外带)。
SSRF(服务端请求伪造)
SSRF(服务端请求伪造) 就像让一个快递员(服务器)帮你随便送包裹,而这个快递员完全不检查包裹地址是否合法。攻击者可以伪造一个快递单(恶意URL),让快递员把包裹送到他本不该去的地方(比如公司内网或敏感系统),导致公司机密泄露或内部系统被攻击。
为什么选择 DNSLog?
- 绕过限制
即使目标服务器的 HTTP 请求被防火墙拦截,DNS 查询通常被允许出站。
适合检测内网环境中的漏洞(如云服务器的 SSRF 访问元数据接口)。 - 无回显场景
当漏洞无法直接返回数据时(如 Blind 型漏洞),DNSLog 可作为外带通道(OOB)。 - 隐蔽性
DNS 请求不依赖端口开放,且流量特征较难被安全设备识别。
核心原理
- 生成唯一子域名
用户从 DNSLog 平台(如 dnslog.cn)获取一个临时子域名(如 abc123.dnslog.cn)。 - 触发 DNS 查询
将子域名插入到漏洞测试的 Payload 中,例如:
http://vuln-site.com/ssrf?url=http://abc123.dnslog.cn
- 验证 DNS 记录
返回 DNSLog.cn 页面 → 点击 “Refresh Record”。
成功标志:
若列表中显示 abcd123.dnslog.cn 的解析记录,且 来源 IP 为 vuln-site.com 的内网服务器 IP → SSRF 漏洞存在。
若无记录 → 可能接口有防护或网络不通。
内网ssrf验证思路:
ps:注意 http://vuln-site.com/ssrf 可以是你自己搭建在内网漏洞验证服务,理论上客户填写url,是不能访问你内部服务的,http://vuln-site.com/ssrf 是你自己搭建的控的,让它访问它的请求参数的dnslog,这样dnslog有记录,就说明服务请求了内部服务
+----------------+ +---------------------+ +---------------+
| 攻击者 | | 内网漏洞服务 | | DNSLog.cn |
| (生成子域名) | 触发请求 | (vuln-site.com/ssrf) | 发起请求 | (记录解析 IP) |
+-------|--------+ +-----------|---------+ +-------|-------+
| 1. GET ?url=xxx.dnslog.cn | |
|------------------------------->| |
| | 2. 解析 xxx.dnslog.cn |
| |----------------------------->|
| | | 3. 记录 IP
| | |<-------+
| 4. 检查 DNSLog.cn 记录 | |
|<------------------------------------------------------------+