Agent Skills
返回列表
🔒

DNS重绑定攻击

IT 运维与安全 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/dns-rebinding-attacks-lr-0i9a 技能到当前 AI 助手。

技能介绍

要解决的安全问题

同源策略(Same-Origin Policy)限制浏览器从一个源读取另一个源的响应,但它判断“源”的依据是域名。浏览器解析域名时并不关心这个域名之前指向哪里,只认当前 document.domain 与目标地址是否匹配。于是攻击者可以把域名先指向自己的服务器,取得页面上下文后,再在极短的窗口内把域名解析到 127.0.0.1 或内网地址,浏览器便会以已加载页面的身份向内部服务发起请求——请求带上 Cookie、绕过跨域限制,响应内容也能被攻击者的脚本读走。

这类攻击常被误认为 SSRF。区别在于:SSRF 是服务端替攻击者发请求,请求方是服务器进程;DNS 重绑定是客户端攻击,请求方是用户自己的浏览器,攻击路径从攻击者的页面一直延伸到受害者本机与内网服务。两者利用条件、绕过手法完全不同,混用会导致防护方案跑偏。

技能的工作方式

技能按攻击链路组织内容,核心能力包括:

  • TTL 技巧:把恶意域名的 TTL 压低,让解析结果快速失效并切换到内网地址,避免被长期缓存锁死。
  • 浏览器缓存绕过:针对浏览器与中间 DNS 缓存的多层缓存行为设计变体,确保重绑定后的地址能被实际使用。
  • 攻击变体覆盖:区分 HTTP 请求、WebSocket 连接与 TOCTOU(检查与使用之间存在时间差)三类路径,各自触发条件与检测盲区不同。
  • 内网服务瞄准:说明如何枚举常见本地服务端口、判断响应差异,从开放端口到可读数据分步推进。
  • 工具用法:列出实际验证时可用的调试与抓包手段。

技能同时给出了相关路由:当目标是服务端时改用 ssrf-server-side-request-forgery;当 CORS 配置本身允许跨域读取时则用 cors-cross-origin-misconfiguration,不必依赖 DNS 切换。

适用边界与注意点

该技能聚焦客户端侧浏览器攻击,对攻击者可控域名、受害者浏览器可访问内网这两个前提不做隐式假设,实际验证前需确认环境满足条件。DNS 重绑定对缓存行为、网络路径和浏览器版本敏感,同一手法在不同环境下的成功率可能差异很大,结论应基于目标环境实测,而不是照搬案例。内容用于安全研究与防御验证,部署防护时应结合 CSP、X-Frame-Options、解析策略与内网服务的网络隔离综合判断。

使用场景

  • 排查Web应用客户端同源绕过风险,需用TTL技巧验证恶意域名解析切换后能否触达内网服务。
  • 评估浏览器缓存策略,设计实验绕过多层缓存,确认重绑定后的内网地址能被实际请求使用。
  • 分析HTTP和WebSocket攻击变体,针对TOCTOU时间差路径测试响应读取与跨域限制绕过效果。
  • 审计内网服务防护,通过工具枚举本地端口并判断响应差异,验证攻击者脚本读取数据的可能性。

适合人员

  • 安全研究员:需理解客户端与SSRF差异,用工具验证重绑定攻击路径。
  • 应用安全工程师:排查Web应用同源绕过漏洞,修复防护措施与缓存策略。
  • 前端工程师:设计防重绑定的缓存控制,避免恶意域名切换至内网地址。
  • 内网服务运维人员:防护本地服务,通过端口枚举与响应监控降低攻击风险。