记录一次网站被挂马经历

作者: dreamfly 分类: php,未分类,随笔 发布时间: 2019-01-15 09:49

最近朋友的网站收录出现了问题,360搜索和搜狗搜索显示的都不是正确的标题和关键词,但是浏览网页显示的却是正常,这不禁引起了我的兴趣,到底是什么原因导致这样的呢?初步判断是根据搜索引擎不同显示不同的结果。

首先说下朋友服务器环境,采用的是apache2.2web服务器,php框架采用的是thinkcmf,mysql数据库,最常规的lamp的架构。

于是在网站目录进行了 grep -rn "360Spider"进行查找,发现只有访问日志记录里面有信息,程序里面并没有相关信息。所以不禁又增加我的好奇心,人们都是好奇心是人类进步的源泉。

于是我接下来就对网站进行了全局断点排查(其实就是在关键位置die一下,看看到底是哪里导致网页的内容发生的变化)。一开始,我以为是模板系统被修改了,但是查看了,并没有被改动的痕迹,接下来我就对引入的类文件进行排查,突然我的视野里面出现了一个神奇的文件,就是safe_360.php,一开始我以为这是朋友加的360网站,安全认证。但是又一想不可能啊,他应该不会自己需改php代码的,打开文件一看,证实了我的猜测。果然,里面是一些加密函数封装的curl请求。

原来每次访问网站,都会讲请求发送给另一个网址,然后他会根据是否是搜索引擎来给你返回不同内容,如果是正常浏览, 他只是记录了访问页面,然后正常返回,但是如果是搜索引擎访问。他就会返回它自己的页面,也就是搜索引擎快照生成的页面。至此,问题解决了。

其实出现这个问题,最好的解决办法就是对网站文件进行git提交,这样每次都有记录,如果发生了变化,会一眼就发现,并能及时清除。

关于git怎么使用和搭建,请看我的其它文章的介绍。

好了,这就是一次排除挂马的经历,梦回故里整理

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

2条评论
  • Julonz

    2019年1月15日 15:50

    牛逼的大神!~~~

    1. dreamfly

      2019年1月15日 22:34

      not as good as you

发表评论

电子邮件地址不会被公开。 必填项已用*标注