关于客户网站被挂马的事件解决分享
事件背景:
近期深分多个一线反馈,在icrm系统\呼叫中心平台中打开某些账号的网站时,会跳转到等非用户网站。现象如下:
1. 客户网站在搜索引擎中搜索的结果,可以看到,已经被快照收录成错误的网站。
2. 点击上面的跳转链接,则打开一个网站
3. 但是直接敲网址访问则是正常显示。
直觉分析,客户被挂马了。
什么是挂马?
百度百科上的说法:
所谓的挂马,就是黑客通过各种手段,包括SQL注入,网站敏感文件扫描,服务器漏洞,网站程序0day, 等各种方法获得网站管理员账号,然后登陆网站后台,通过数据库“备份/恢复”或者上传漏洞获得一个webshell。利用获得的webshell修改网站页面的内容,向页面中加入恶意转向代码。也可以直接通过弱口令获得服务器或者网站FTP,然后直接对网站页面直接进行修改。当你访问被加入恶意代码的页面时,你就会自动的访问被转向的地址或者下载木马病毒。
这里注意两点,1.被挂马,说明服务器并不安全,程序或者系统存在漏洞,或者管理的账号密码已经被泄露;2.黑客已经获得了服务器或网站的权限,能操作文件。
挂马的危害:
这个案例的危害在于,被挂马的网站,所有通过百度域名来源跳转的流量,都被跳到恶意网站。
从客户角度来看:
1. 在百度投入的流量被劫持,有显示,但是跳入不到网站中,相当于损失了这部分流量,白白花费了金钱;
2. 客户的网站被挂马一段时间后,在快照收录时会被处理成恶意网站,降低网站质量,影响客户形象
对百度影响:
1. 由于只有百度搜索来源的流量被跳转到恶意网站,客户可能会觉得是不是百度跳转做了什么手脚导致出问题,影响百度形象和信任度。
2. 快照收录时收录了恶意网站信息,不能正常显示客户网站,影响推广效果和质量,服务质量降低。
发现问题时我们第一反应是跟客户解释这不是百度的问题,是可能您的服务器被黑客攻破了修改了程序,然后才导致这样的情况的。可是盛怒之下客户根本听不进去,空间运营商(客户网站是挂在某家云资源运营商上的)一口咬定不背锅。客户已经着急到威胁投诉和停止投放了,于是客服只能反馈到工作台维护群里,看看能不能处理这样的问题。
事件分析和处理
首先分析这个挂马的动机,因为并不是什么电商或者保密网站,黑客并没有窃取什么信息或者直接偷取什么利益,唯一的收益是将网站的流量进行劫持,当然也不排除有同行作恶的事件。
此外,直接访问网站能正常访问,只是在从搜索跳入时进行了跳转(跟踪发现了网站请求302的状态),而且是在访问了域名url后直接被302跳转。说明木马或者恶意代码做了来源(refer)限定判断。
而进一步排查二级页面(如首页往下某个栏目页面),即使从搜索引擎跳入也不会被转到恶意网站。则初步分析,应该是在首页处理上做了手脚。
使用浏览器另存网页,获取首页的源码,初步查看了一下,html段并没有发现异常代码。然后分别查看js文件内容,也没有被附加别的代码。
重新分析整个异常流程:
首先需要确定的是走的路径1还是路径2,如果是路径1,则说明是index.html代码有问题;如果是路径2,则可能是域名登陆页有问题、或者是在应用层进行了转发。
从浏览器调试工具或者抓包工具看到,baidu 跳转url已经将请求转发到了www.abc.com域,但是在域响应返回值上看到,直接返回302 ,则说明服务直接进行了跳转,没有经过index.html 一类的响应页面,所以得知走的是路径2 。
初步怀疑是客户的cms内容管理程序的网站首页文件出了问题(如index.php,index.jsp)等。经客户同意后,登陆其服务后台。得知是一个php写的cms程序。找到了默认首页index.php
发现其头部有这么一段:
经过与这个cms程序产品标准版比对,得知开始的代码并不是正常代码,而是一段被加入的代码,但是代码被加密了,通过别的方式解码比对后得知,这里是一个重定向语句。删掉后,重新生成首页,问题解决。
其他方式的挂马
简单的页面修改:
Index.html页面底部被拼接一段js,直接删除就可以了。此外,jquery的js文件,因为使用较为广泛,所以也容易被挂马。
稍微复杂的挂马:
Gif文件挂马,gif文件请求本身也可以是一个文本文件,而且会被当作js执行,所以也经常伪装成木马文件,检查的方式,可以查看文件预览图,如果是文本文件,则预览图无法正常显示。
XSS漏洞挂马:
本身原理是利用一些编写不严谨的flash文件执行了恶意代码加载特定文件,来控制进行文件跳转。如常用的分享按钮生成代码等。例子参见 http://www.2cto.com/article/201504/394183.html |