怎样从日志找 WebShell 位置
第一步:排查 Web 服务器访问日志(access.log)
WebShell 需要通过 HTTP 请求来执行命令,因此会在 Web 服务器的访问日志中留下痕迹。这是定位 WebShell 位置最直接的方法
- 异常请求状态码:一个成功的 WebShell 文件通常会被频繁访问,并返回
200
状态码。而正常的网站文件,尤其是那些不应该被直接访问的脚本文件,如果返回了200
,就很可疑 - 异常请求路径:WebShell 的路径通常很奇怪,不符合正常的业务规则。例如:
- 深度目录:
www.example.com/images/uploads/2023/shell.php
- 随机文件名:
www.example.com/1a2b3c4d.jsp
- 伪装文件名:
www.example.com/test.jpg.php
- 深度目录:
- 异常请求参数:WebShell 的请求参数通常会包含一些命令执行的关键字,例如
?cmd=...
、?exec=...
或?id=...
- 异常 User-Agent:攻击者可能使用特定的工具或脚本来访问 WebShell,其 User-Agent 字段可能不正常