全部指南
严重程度:高危DNS 与邮件安全

Subdomain takeover:它是如何发生的,以及如何预防

当一条 DNS 记录(通常是 CNAME)仍指向你已不再使用的第三方服务时,就会发生 subdomain takeover。攻击者重新注册那个资源,就能在你的子域名上开始提供他们自己的内容。

这是什么

你通过 CNAME 把 blog.yourdomain.com 指向某个托管服务,随后删除了托管资源,却忘了那条 DNS 记录。这条记录现在「悬空」了——它指向一个任何人都能认领的空位。

常见目标包括 GitHub Pages、S3 bucket、Heroku 应用、Azure 站点、Shopify,以及其他允许新用户认领曾被使用过的主机名的类似平台。

为什么重要

谁认领了那个资源,谁就控制了你真实域名上的一个页面。这非常适合用来钓鱼、窃取限定于你域名的 cookie,以及绕过那些信任你源的保护。

由于内容位于你合法的子域名上,用户乃至某些安全工具都会不假思索地信任它。

如何修复

移除悬空的 DNS 记录

审查你的 DNS,检查指向外部服务的 CNAME/ALIAS 记录。如果目标资源已不存在,就删除该记录。

按正确顺序下线

当你退役一个托管资源时,先(或同时)移除 DNS 记录,而不是之后再移除。删除资源与删除记录之间的这段时间就是脆弱期。

需要时重新认领

如果你仍想要这个子域名,就在该服务上重新配置资源,让主机名解析到你所控制的东西。

常见问题

我怎么知道自己是否存在这个风险?

找出那些 CNAME 指向的服务会返回「未认领」或「没有这个应用」页面的子域名。AppSafe 会自动识别这些特征。

A 记录也会有风险吗?

通常风险较小,因为 IP 不像有名字的服务空位那样可以随时被重新分配——但云 IP 可能被复用,所以退役的记录仍应移除。

你的应用受影响了吗?

AppSafe 一次免费扫描,就能检查这个问题以及数十项其他问题。

免费扫描我的应用