凌晨两点,网页挂马某政府网站的网页挂马访客量突然暴涨三百倍。安全工程师调出日志,网页挂马发现所有请求都指向同一个隐藏iframe——那行代码藏在首页底部,网页挂马宽度设成0,网页挂马高度设成0,网页挂马肉眼根本看不见。网页挂马
这就是网页挂马网页挂马。攻击者往正常页面里塞一段恶意代码,网页挂马访客点开网站,网页挂马浏览器就默默加载了另一个藏着病毒的网页挂马页面。整个过程悄无声息,网页挂马你甚至不会察觉地址栏有任何变化。网页挂马
我见过最骚的网页挂马操作,是网页挂马把恶意脚本编码成一段纯数字。页面里看不出任何异常,只有浏览器解析时才会还原出真正的攻击代码。还有把代码拆成几十段,分散在页面不同位置的——就像把炸弹零件藏进玩具店各个角落,拼起来才致命。
挂马的目标从来不是网站本身,而是访问网站的人。2015年某招聘网站被挂马,三天内窃取了上万份简历中的联系方式。那些求职者做梦也想不到,自己投个简历的功夫,手机号已经流进了黑产数据库。
手法也在进化。早期挂马只是简单插入script标签,现在都玩起了供应链攻击。某开源库被植入后门,下载这个库的开发者全都中招——他们写出的网站,等于带着定时炸弹上线。这比直接黑掉某个网站狠多了,一炸就是一片。
检测挂马很难。代码可以伪装成图片请求,可以藏在CSS背景图里,甚至利用JSONP回调函数做手脚。普通访客根本分不清页面里哪些请求是正常的,哪些是偷数据的。安全人员得盯着流量特征看,比如某个IP反复请求一个不存在的路径,或者页面加载时间突然变慢零点几秒。
个人用户能做的防护其实有限。装个广告拦截插件能挡掉一部分恶意跳转,保持浏览器和Flash更新也管用——很多挂马就是钻旧版本漏洞的空子。但真正的风险在网站服务器端。我认识一个站长,坚持每天手动检查首页源代码,就为了确认没被塞进奇怪的东西。他说这习惯救了他三次。
最阴险的是那种延迟执行的挂马。攻击代码先安静地躺在页面里,等用户滚动到某个位置,或者点击特定按钮才触发。检测工具扫描时页面是干净的,只有真实用户操作才会引爆。这种手法专门对付自动化安全巡检。
话说回来,挂马这行当这几年收敛了不少。浏览器厂商把权限管得越来越严,沙箱隔离做得更扎实,攻击成本上去了。但别掉以轻心——移动端H5页面成了新目标,扫码点餐、小程序分享链接,都可能成为载体。技术对抗永远在升级,今天堵上的漏洞,明天可能换个姿势又出现。