很久没有上自己以前的博客网站,今天上去看了一下,发现页面布局有点错位,页面上的所有链接,无论url是什么,所跳转的页面都是首页的内容,使用浏览器查看了网页源码,发现被插入了一些meta头信息,以及多个js文件,是一个什么赌博网站的。因为网站是放在虚拟主机上面的,使用的是tp5框架。
解决思路:
- 所有页面显示相同的页面,可能入口文件被修改了,查看入口文件,发现入口文件 被植入了html代码,代码是扣下我网站的首页,以及一堆meta头文件,js文件。先将这部分代码删掉,网站可以正常访问了。
- 查看访问日志,1月份从11号之后就没有日志文件,说明攻击发生在该日期之前,查看日志文件,找到了一些不正常的访问
- 查看这些访问的url,找到了一个可以访问的地址,打开地址,里面的内容跟被植入的 文件部分内容相识,可以断定网站就是因为被这些不正常的访问造成入口文件被修改。
- 因为访问造成网站源代码被修改,说明不是虚拟主机系统被入侵,而有可能是框架存在漏洞。
- 搜索tp5框架漏洞,附带关键字(访问地址)
- tp5官方在12月低已经进行漏洞修复,直接添加补丁,在thinkphp5.0版本的
thinkphp/library/think/App.php
554行,thinkphp5.1版本的thinkphp/library/think/route/dispatch/Url.php
63行添加如下代码:if (!preg_match('/^[A-Za-z](\w|\.)*$/', $controller)) {throw new HttpException(404, 'controller not exists:' . $controller);}
- 查看tp的 public目录下的文件夹,发现很多文件夹多了许多index.php以及另外一个php文件,这个index.php引入后面这个文件,并且该文件下载到本地会被window10的杀毒软件识别为病毒,所以手动清理这些文件。