域名被劫持后,彻底修复的核心在于先切断攻击者的控制通道,再清理所有遗留后门,最后重建安全的DNS解析体系,顺序错了很容易反复中毒。
第一步:确认劫持类型,别急着改密码
很多人在发现网站跳转后,第一反应是登录域名注册商改密码,但劫持的入口往往不在注册商后台,你需要先判断属于以下哪一类,才能对症下药。
- DNS解析劫持:域名DNS服务器被改为攻击者指定的地址,访问时被解析到恶意IP,这类劫持在域名注册商或DNS服务商后台能直接看到异常记录。
- 域名账户被盗:攻击者登录你的注册商账户,转移了域名或修改了DNS设置,这类劫持登录后台时会发现密码被改或域名状态异常。
- 网站代码植入:域名解析本身正常,但网站源码中被插入跳转代码或恶意脚本,这类劫持打开页面才会跳转,直接访问IP则不跳。
- 本地DNS劫持:服务器或用户本地DNS设置被篡改,表现为只有部分地区或部分网络访问异常。
验证方法很简单:在本地命令行执行nslookup 你的域名,查看返回的DNS服务器和IP地址,再用ping 你的域名查看实际解析结果,如果解析出的IP既不是你的服务器IP,也不是CDN节点IP,基本可以确定是DNS层面的劫持,如果解析正常,但访问时页面跳转到赌博或色情站点,则是代码植入。
第二步:紧急止损,先止血再治根
确认劫持类型后,按以下顺序操作,每一步都要留截图和记录,后续申诉或排查都用得上。
- 立即锁定域名状态:登录域名注册商后台,将域名状态改为“注册商锁定”或“禁止转移”,这一步能防止攻击者在修复过程中将域名转移到其他注册商。
- 修改所有相关密码:包括域名注册商密码、DNS服务商密码、服务器SSH密码、数据库密码、CMS后台密码,密码复杂度要求:至少16位,包含大小写字母、数字和特殊符号,且互相不重复。
- 开启两步验证:域名注册商和DNS服务商都支持TOTP或短信验证,全部打开,行业共识认为,这一步能拦截相当一部分后续攻击企图。
- 如果域名已转移:立即向当前注册商提交“域名转移欺诈”申诉,同时联系原注册商配合处理,此时需要提供域名注册时的身份证明、付款记录等材料。

第三步:取回解析控制权,逐条核对DNS记录
这是修复流程中最关键的一步,登录DNS管理面板后,不要只改密码,要全量检查所有解析记录。
- 检查A记录:逐个核对IP地址,确认每个子域名的A记录都指向正确的服务器,尤其注意
www、、这三条记录,攻击者经常给泛解析加一条恶意记录。 - 检查CNAME记录:常见手法是把
www或mail的子域名CNAME到恶意域名,如果发现指向陌生域名的记录,立即删除。 - 检查NS记录:确认NS记录指向的DNS服务器是你自己注册商的服务地址,如果出现陌生的NS地址,说明DNS管理权已被接管。
- 检查TXT记录和MX记录:有的攻击者会添加SPF或DKIM记录来发垃圾邮件,MX记录被篡改会导致邮件被截获。
检查时比对用什么标准?你之前备份的DNS记录,或者注册商的历史修改日志,如果当时没备份,可以查DNS历史解析记录平台,比如SecurityTrails或ViewDNS.info,比对近一周的变更情况。
发现异常记录后,先删除再重新添加正确记录,不要只修改,原因在于攻击者可能在原有记录中嵌套了不可见字符或看似相同实则不同的域名,删除后确保列表里没有任何可疑条目,再逐条恢复。
DNS修改后,全球生效需要时间,一般不超过24至48小时,这期间可能出现部分地区访问异常,属正常现象。
第四步:清理服务器后门,杜绝二次入侵
DNS恢复只解决了“入口”问题,如果服务器本身已被渗透,攻击者随时能再改一次解析,因此必须对服务器做全面体检。
检查服务器层面的可疑行为
- 使用
last -n 20查看登录记录,确认没有陌生IP的成功登录。 - 执行
cat /var/log/auth.log
或
/var/log/secure,查找异常时段的请求。 - 运行
netstat -antlp查看当前所有连接,重点关注ESTABLISHED状态的陌生IP地址。
清理Web目录中的恶意文件
攻击者通常会在网站根目录或wp-includes、/tmp等目录下放置一句话木马或后门脚本,常见文件名包括:shell.php、c99.php、eval.php、.x.php等。
操作路径:用服务器文件管理工具或FTP查找最近7天被修改的PHP文件,在Linux系统可执行find /var/www/html -name ".php" -mtime -7,逐个打开可疑文件,内容中包含eval、base64_decode、system、exec等函数的文件,大概率是后门,删除后用chattr +i给关键目录加锁,防止再次被写入。
查杀带后门的主题或插件
如果你用的是WordPress系统,相当一部分域名劫持案例的根源是安装了破解版主题或插件,破解包中预置了后门代码,源站被植入后通过JS或Meta Refresh跳转到非法站点,解决方案是删除所有来历不明的插件,重新安装官方渠道的正版主题,并升级到最新版本。
第五步:提交申诉并观察后期情况
如果网站被搜索引擎标记为“危险网站”或“被黑”,在修复完成后需要向百度搜索资源平台提交死链和恢复申诉,操作路径:登录百度搜索资源平台 → 站点管理 → 安全监测 → 申请恢复,同时可以在百度搜索“域名被劫持怎么修复”获取更多官方帮助文档链接。
提交后通常需要3至7个工作日审核,期间保持网站内容稳定,不要做大规模改版或删除页面。
恢复期间的具体做法
- 每天登录DNS后台检查一次解析记录,确认无新增异常。
- 用浏览器无痕模式访问网站,分别在PC端和移动端各测一次跳转情况。
- 用站长工具或奇安信网站安全检测扫描全站,确认没有残留的恶意代码。
第六步:建立长效防护机制
修复只是开始,预防复发才是彻底解决,以下措施需要长期坚持:
- 域名注册信息定期审核:每季度检查一次注册邮箱,确保邮箱没被篡改,邮箱也要开启两步验证,因为找回域名密码的入口往往是邮箱。
- DNS选型注意安全:使用自带DDoS防护和DNSSEC支持的DNS服务商,DNSSEC能防止解析记录被篡改,虽然配置稍微复杂,但值得开启。
- 设置解析变更提醒:大部分DNS服务商支持操作日志和变更通知,全部打开,每当有解析记录被修改,第一时间短信或邮件通知,能提前发现异常。
- 定期备份DNS记录和网站代码:建议每月导出一次全量DNS解析记录,同时把网站源码打包备份到本地或异地存储。备份是最后一道防线,不管遇到什么攻击,有备份就能恢复。

域名被劫持相关疑问解答
域名被劫持后是否要报警或投诉?
如果确认域名被转移至境外注册商,或劫持牵涉到钓鱼诈骗、赌博等违法内容,建议向当地网警报案并保留证据链(登录日志、劫持页面截图、DNS解析记录截图),同时向注册商提交正式的域名争议投诉,通过ICANN的转移争议政策(TDRP)或注册商内部申诉渠道追回域名。
域名被劫持到赌博网站怎么恢复?
先不要清空服务器或重装系统,保持现场证据完整,按本文第三步检查DNS解析记录,重点查看NS和A记录是否被指向赌博服务器,同时下载并保存被劫持页面的HTML源码,里面可能有攻击者留下的跳转脚本或服务器IP信息,清理完成后用搜索引擎“站点推荐”功能提交恢复请求。重要提醒:不要访问被劫持页面中的任何链接,也不要尝试去访问赌博网站的服务器IP,避免留下访问痕迹。
域名历史被劫持过会不会影响后续使用的权重?
影响取决于劫持持续的时间和恢复速度,如果劫持时间较短(数小时内),且被抓到的页面是5开头状态码或跳转链接,恢复后对百度权重影响相对有限,若劫持持续数天并生成了大量非法页面被抓取收录,则需要配合百度搜索资源平台的“死链提交”和“屏蔽”功能开展清理工作,再等待一段时间迭代恢复,目前来看,只要原站点内容质量正常,多数情况下排名可在1到3个月内逐步恢复。