Webshell是一种常见的网络攻击手段,指利用网站漏洞等途径将网站服务器上的文件或程序替换为恶意代码,使得攻击者能够通过互联网对被攻击的服务器进行远程控制。
在排查被攻击的服务器时,Webshell往往会隐藏在系统的某个路径下,因此需要使用一些技巧来找到它。这篇文章将介绍如何通过查找Webshell路径来发现并清除它们。
首先,在查找Webshell之前,我们需要确认以下几点:
1. 确认是否存在Webshell
通常情况下,被Webshell感染的服务器会出现一些异常表现,例如:
- 网站运行缓慢
- 数据库被删除或篡改
- 系统日志出现大量异常信息
- 服务器运行状态异常等,如 CPU 占用率过高、内存占用率过高等
如果发现网站出现异常情况,就需要立即开始排查是否存在Webshell。
2. 查看网站后台和上传目录
Webshell的上传和管理通常是通过网站后台和上传目录来实现的。因此,我们需要仔细检查这些位置是否存在异常的文件,并及时删除它们。
然而,即使我们删除了后台和上传目录中的文件,Webshell也可能会留下一些残留文件,而这些文件往往隐藏在一些系统路径下。
接下来,我们将介绍如何排查这些路径,以找到并清除Webshell。
1. 查看临时目录
Webshell通常会将上传的恶意文件放置在服务器的临时目录中。临时目录通常位于 /tmp 或 /var/tmp 文件夹下。
查看临时目录的方法如下:
```sh
ls -alh /tmp
ls -alh /var/tmp
```
如果发现存在异常文件,可以通过以下命令将其删除:
```sh
rm -rf filename.php
```
2. 查看用户目录
Webshell还有可能存在于用户目录中。通常情况下,Webshell会将其所在的目录名称随机生成,例如:dcd5e439-10b6-4143-b4c7-63010f3576f2。
因此,在用户目录中查找Webshell可以使用以下命令:
```sh
find /home -name "*.*" -type f -size +10240k -exec ls -lh {} \;
```
其中,/home 是用户目录路径,+10240k 是文件大小的过滤条件,表示查找大于10MB的文件。
如果发现异常文件,可以使用以下命令将其删除:
```sh
rm -rf dcd5e439-10b6-4143-b4c7-63010f3576f2/index.php
```
3. 查看系统目录
Webshell还有可能存在于系统目录中。例如,/etc、/usr/bin 等。
查看系统目录的方法如下:
```sh
ls -alh /etc/
ls -alh /usr/bin/
```
如果发现异常文件,可以使用以下命令将其删除:
```sh
rm -rf /usr/bin/webshell.php
```
总结:
Webshell的排查需要多方面的技巧和工具。在实际操作中,还需要注意安全性及准确性,不要随意删除系统文件或关键文件。
通过以上介绍的方式,我们可以从不同的路径中找到Webshell并加以清除,最大程度上保障服务器的安全。