我的传奇持恢一个朋友,老周,网站经营着一家卖户外装备的被劫小网站。去年双十一前夜,复跳他急得给我打电话,转到站说网站打开直接跳到一家博彩页面,其网后台数据全乱套。传奇持恢检查发现,网站他的被劫域名DNS记录被篡改了——黑客通过他注册邮箱的漏洞,把域名解析指向了境外服务器。复跳这是转到站典型的“域名劫持”,不是其网服务器被黑,而是传奇持恢“门牌”被换了。
遇到这种情况,网站别慌,被劫先别急着重装系统。劫持分两种:一种是DNS解析被改,另一种是网站文件被植入跳转代码。老周属于前者。处理方式很简单——立刻登录你的域名注册商后台,修改注册邮箱密码,然后重置DNS解析记录。注意,要检查所有记录,包括A记录、CNAME、MX邮件记录。黑客往往不只改一个,还会留后门。老周当时只改了A记录,结果第二天又跳转,才发现MX记录也被指向了黑客的邮件服务器。
如果是文件被植入代码,症状是首页正常,但点任何链接都跳转。用FTP连上服务器,查看最近修改的文件——重点检查index.php、.htaccess,还有模板目录下的header.php。我见过最隐蔽的植入,是把跳转代码放在图片文件的EXIF信息里,然后用PHP的getimagesize函数读取。这种查杀起来很麻烦,最稳妥的办法是下载官方原版程序,覆盖除配置文件外的所有文件。
恢复后别急着庆祝。老周当时恢复了网站,但流量掉了一半。为什么?因为搜索引擎已经收录了跳转页面,用户搜索“户外装备”点进来,看到的是博彩网站,浏览器会提示风险。这时候要去百度搜索资源平台提交死链,用站长工具检查网站是否被挂马。更关键的是,检查你的HTTPS证书——劫持期间证书可能被吊销,需要重新申请。老周忽略了这点,导致用户访问时浏览器弹出“不安全”警告,直接劝退了大批客户。
还有个细节很多人忽略——检查你网站源代码里是否被添加了隐藏的iframe或JS跳转。用浏览器开发者工具查看网络请求,如果有发往境外IP的请求,说明还有残留。我见过一个案例,黑客把跳转代码写在数据库的字段里,每次页面加载时从数据库读取URL再跳转。这种情况要排查数据库,搜索可疑的http链接。
最后说点实在的。域名劫持的根源,90%是邮箱密码太弱或者邮箱被盗。老周用的QQ邮箱,密码是“zhou1985”,这种密码在社工库一查就能查到。建议所有站长开启两步验证,域名注册商和邮箱都要开。另外,把域名锁定功能打开,防止被转移。老周后来学乖了,域名注册商的账号密码存在密码管理器里,每月手动检查一次DNS记录。
网站恢复后,记得去工信部备案系统查一下备案是否被注销。有些黑客会利用劫持期间修改你的备案信息,导致域名被工信部拉黑。老周没遇到这种情况,但他的同行遇到——恢复网站后,发现域名无法访问,一查备案被注销了,重新备案花了三周。这期间网站完全打不开,损失比劫持本身还大。
整个过程,老周从发现问题到完全恢复,花了大概六个小时。但后续的SEO恢复和信任重建,用了将近一个月。所以,预防比处理更重要。定期备份数据库和文件,备份放在本地硬盘和云盘各一份。别嫌麻烦,真出事的时候,备份能让你少熬两个通宵。