网站被挂马
凌晨三点,网站手机在床头柜上震了两下。被挂我翻了个身没理。网站早上醒来一看,被挂客户发了十几条微信——他的网站企业站被Google标了红,浏览器直接拦截,被挂访问量从日均两千掉到个位数。网站我打开电脑连上服务器,被挂第一眼看到的网站是首页源码里多了一段 ``,域名长得像模像样,被挂但根本不是网站他用的统计服务。 这就是被挂典型的挂马。不是网站服务器被攻破那种大动静,而是被挂有人从后台弱口令进去了,往模板文件里塞了一行代码。网站这行代码做的事很简单:判断访问者是不是从搜索引擎来的,如果是,就偷偷加载一个赌博站点的跳转脚本。普通用户直接访问看不出异常,但搜索引擎爬虫抓到的页面已经被篡改,快照里全是垃圾内容。 挂马这事,很多人以为离自己很远。实际情况是,一个用WordPress搭的小博客,插件三个月没更新,就足够被批量扫描工具盯上。我见过最离谱的案例是一个做烘焙教程的网站,被挂了博彩关键词,整整两周站长都没发现——因为挂马代码只对移动端UA生效,他自己一直用电脑看,页面干干净净。 大部分挂马不走漏洞利用那条路,太费劲。攻击者更喜欢找“门”。后台登录页没有验证码,密码是admin123,这种组合在自动化脚本面前撑不过十分钟。还有一种常见入口是主题文件里的后门,很多免费主题从非官方渠道下载,里面藏一个base64编码的eval函数,你根本看不出来。上传头像功能没做文件类型校验,传个php文件上去也能执行,这种老问题至今还在大量站点上存在。 我处理过一个案例,攻击者甚至没留webshell,只改了一个.php文件里的两行代码,把恶意脚本用 `document.write` 动态输出。查日志的时候发现,入侵时间在三个月前,也就是说这个站被当了三月的肉鸡,站长完全不知情。 发现挂马最直接的办法是看源码。浏览器里右键查看页面源代码,搜索 `
马是怎么进去的
怎么发现和清理