千万不要说我是学信息安全的,不然就觉得更丢人了,尽管有时不是自己的原因。
昨天晚上cipir告诉我,说访问xingbin.net下面部分页面时“金山毒霸”会报“发现恶意脚本”。我按照相应的地址访问,也发现了类似的问题。于是赶紧进行代码排查,最后发现是一个用于生成js的文件被恶意修改,导致页面会在后台加载其他的恶意html文件,并执行相应的恶意代码和包含新的恶意文件。
发现问题首先是立即隔离相应的文件,然后把正常的文件重新放在上面,对被修改的文件进行分析后再删除。文件修改的日期是昨天的中午。也就是说昨天下午访问xingbin.net的用户可能会受到威胁。而访问xingbin.name的则不存在此问题。
简单分析了一下恶意文件,书写很讲究。它对代码进行了隐藏,所有的代码的字符被转换成了相应的ASCII码的int值,然后将所有的数据连接起来,彼此之间使用“#”分隔,组成了一个长的字符串。当页面被加载的时候,首先使用函数将字符串以“#”进行分割存入数组,然后将数组中的int数据转换成相应的ASCII码,这样就生成了恶意脚本,最后将这些脚本使用javascript代码再写回页面文件,来达到其恶意企图。
不过值得注意的是,含有这样恶意脚本的文件并没有被“金山毒霸”所识别。而“金山毒霸”报警的是另外的一类恶意脚本,在此不作讨论。
此前的几天,整个服务器被攻击,导致服务器上的所有网站都受到影响,也包括我的xingbin.net和xingbin.name。不过第二天就恢复正常了。昨天的这次攻击是用的上次攻击前埋下的漏洞还是其他什么方法,还得继续研究。希望大家下次发现网站出现任何问题及时和我联系。
附2:如果您发现浏览器左下角出现正在加载属于其他陌生网址的js文件,这很可能就是恶意代码,请及时反馈。谢谢。