游客发表
去年秋天,网站网站我帮邻居老陈修电脑。打开他打开浏览器,变成别输入自己常去的网站网站钓鱼论坛地址,回车。打开页面一闪,变成别跳出来一个卖保健品的网站网站网站,满屏“降三高”的打开弹窗。老陈愣了:“我是变成别不是打错字了?”我让他再输一遍,结果一样。网站网站他又试了另一个收藏夹里的打开链接,这次跳到一个彩票平台。变成别老陈的网站网站电脑没中病毒,网络也正常——问题出在网站本身。打开
这种情况比多数人想的变成别更常见。你输入的是A地址,浏览器却把你带到B网站。有时候是整站跳转,有时候是打开后几秒突然变脸。我见过最离谱的一个案例:一个地方新闻网站,白天正常,晚上八点后自动跳转到境外赌博页面。站长自己都不知道,直到读者打电话骂他。
原因通常藏在三个地方。第一是域名劫持。域名注册商那边的账号被盗,或者域名过期后被别人抢注。我认识一个做烘焙博客的姑娘,忘了续费,三天后域名被一家成人网站买走。她原来积累的搜索排名,全给他人做了嫁衣。第二是服务器被入侵。攻击者往网页里塞一段JavaScript,用户一访问就执行跳转。这段代码可以藏得很深,比如伪装成统计脚本,或者放在某个不起眼的js文件里。第三是DNS污染。你输入的域名在解析阶段就被替换成了另一个IP,浏览器根本不知道真正的服务器在哪。
老陈那个案例属于第二种。我查看网页源代码,发现底部多了一行<script src="http://xxx.com/track.js"></script>。那个js文件里只有三行代码,功能就一个:判断访问者来自搜索引擎还是直接输入,如果是后者,延迟两秒跳转。为什么要延迟?为了让你先看到原网站的样子,放松警惕。
更隐蔽的做法是只对特定用户跳转。比如只跳转手机用户,或者只跳转来自百度的访客。站长自己用电脑打开一切正常,根本发现不了。我见过一个企业官网,PC端正常,手机端打开就跳到一个博彩App下载页。老板一直以为网站没问题,直到客户投诉。
怎么判断自己遇到的是哪种情况?有个简单办法:打开命令行,输入ping 你输入的域名,看看返回的IP是不是你熟悉的服务器地址。如果IP不对,那就是DNS或域名层面的问题。如果IP对,但网页内容不对,那就是服务器被篡改。再进一步,查看网页源代码,搜索window.location、top.location或者document.write,看看有没有可疑的跳转语句。
修复起来不算复杂,但需要细心。域名劫持就改密码、开两步验证、锁定域名转移。服务器入侵就找出来被修改的文件,通常是首页文件或者某个公共js。删掉恶意代码,改掉所有后台密码,检查有没有多余的管理员账号。DNS污染比较麻烦,得换DNS服务商,或者上HTTPS——加密传输能挡住大部分中间人篡改。
老陈的网站最后恢复了。我帮他把那行script删掉,又检查了其他几个js文件,发现还有一个被加了同样的代码。他问我:“谁干的?”我说大概率是自动化扫描工具,专门找有漏洞的CMS系统,批量注入。他那个论坛用的是五年前的版本,一直没升级。
这事过去半年了。上个月我又路过他家,他正在电脑前看钓鱼帖子。我问他还有没有跳转,他摆摆手:“没了没了,我现在每周都备份。”停了一下,他又补了一句:“你说这些人图啥呢?把我引到卖保健品的网站,我又不会买。”我说他们不指望你买,只要你点一下,他们就能拿广告费。老陈摇摇头,继续看他的鱼漂调法。
友情链接