皇家朝阳计划遭到了黑客植入木马程序,并将网站跳转到博彩网站的事件。经过仔细的排查过程,我们发现只要网址中包含"apk"的目录,系统会判断请求头,对于手机移动端的请求头,网站将会跳转到一家博彩网站;对于电脑PC浏览器,网站会显示空白页,使我们无法看到跳转后的网址。此外,只要域名后面的地址带有"apk",系统同样会判断请求头,然后进行相应的跳转行为。
最近,我们还注意到客户订单的数量明显下降,这让领导非常着急。我们的大部分客户渠道来源于百度点击,为了搞清楚网站出了什么问题,我专心致志地进行了研究。我本以为是更新的文章导致了百度收录的增加,但再仔细思考后,我发现并没有那么多的收录数据。于是,我使用"site:网站"指令进行搜索,不断点击了十页,终于找到了问题的关键。原来,百度收录了大量我们网站根本不存在的URL链接。当我复制了其中一个以我们域名开头的链接时,系统提示页面不存在。进一步跟踪该链接从百度搜索结果中点进去后,我被跳转到了一家名为BC的博彩网站。
下面是我们的排查过程:一开始我以为是修改了js文件,但是经过长时间的浏览和文件内容搜索等等必要的技巧,我竟然一无所获,不仅如此,我还发现这个服务器上所有的站点都存在这个问题,这看起来绝不是一件简单的事情。现在我们迫切需要解决这个问题,否则后果将不堪设想。通过服务器上的SINESAFE木马查杀工具,我发现了许多变形的webshell,还有一些无法删除隐藏属性的恶意文件,而且本地扫描的两个上传文件也被火绒报毒了。
终于我明白了,原来我的网站已经被黑客入侵了。我赶紧打开服务器上的各个站点,将网站程序代码下载到本地,然后一个一个地检查每个代码,看看是否有被黑客植入恶意后门,结果果不其然,我发现每个网站根目录里的conn.php文件都被黑客插入了恶意代码。网上流传着一个名为functiongo_bots_url()的函数,它有些有趣,毫无疑问值得一试。这个函数的作用是判断用户是通过哪个搜索引擎访问网页的,并根据不同的搜索引擎返回相应的结果。在这个函数中,有一个变量名叫init_flag,初始化值是"apk"。另外,还有一个名为bct的变量,它的值是document.referrer,用于获取当前网页的来源信息。接着是一个名为bot的数组,其中包含了一些搜索引擎的名字,如百度、谷歌、雅虎、必应、搜搜、搜狗、360、360安全等。运行这个函数时,会遍历bot数组,检查当前网页的来源信息中是否包含这些搜索引擎的名字,如果存在,则将init_flag的值设置为"apk"。经过清除了恶意代码之后,我们的网站终于恢复了正常,从百度搜索点击进来的用户也可以正常浏览了,真是太棒了。我发现在服务器中,隐藏属性的文件是肉眼无法察觉的,需要使用专业的SINESAFE木马查杀工具才能发现。这就是为什么我费了大半天的劲也找不到问题的根源。现在我们要紧急修复网站的漏洞,并对服务器上的所有站点进行彻底检查和漏洞修复,以免再次遭受攻击和重定向。如果大家对程序代码不太熟悉,无法自行修复漏洞,建议可咨询专业的网站安全公司。