恶意用户如何窃取GitHub Pages自定义域名绑定?我的遭遇及疑问
域名被恶意抢占的原因分析
核心机制:GitHub Pages的域名验证规则
GitHub Pages对自定义域名的归属判断,完全依赖域名DNS中当前存在的验证TEXT记录——这条记录包含对应GitHub账户的唯一标识。一旦你删除了自己的验证TEXT记录,该域名与你GitHub账户的验证绑定就会失效。此时如果原有的GitHub Pages域名配置被移除(无论是误操作还是恶意删除),任何能修改你域名DNS的人,都可以添加他们自己的验证TEXT记录,将域名绑定到他们的仓库。
你遇到的攻击流程
- 你删除了域名的验证TEXT记录,导致域名失去了与你GitHub账户的验证关联
- 恶意用户获取了你域名DNS的修改权限(大概率是Namecheap账户密码泄露,或是DNS配置被非法篡改),在你的域名DNS中添加了他们的GitHub验证TEXT记录
- 恶意用户将你的域名绑定到了他们的GitHub Pages仓库,同时移除了你原仓库中的域名配置(这就是你看到配置消失的原因)
- 当你尝试重新添加域名时,GitHub检测到该域名已被其他账户通过有效TEXT记录验证并绑定,因此返回“域名已被占用”的错误
关键误区纠正
你之前的判断“无需访问Namecheap账户添加TEXT记录就无法攻击”是正确的——仅删除你自己的TEXT记录本身不会导致域名被抢,真正的问题是你的域名DNS控制权已经泄露,让恶意用户能够添加他们的验证记录。
内容的提问来源于stack exchange,提问作者MetalElf0
相关产品推荐
相关产品推荐

