如何检测你的Tomcat是否易受文件包含攻击
TOPIC SOURCE
绿盟云针对Apache Tomcat文件包含漏洞的在线检测正式上线
那个周二下午,运维小王收到安全部门的紧急通知时,后背瞬间渗出冷汗。公司官网的Tomcat服务器可能暴露在文件包含漏洞的风险之下,而攻击者只需要通过AJP协议端口,就能像翻阅自家书柜般读取服务器上的敏感文件。更可怕的是,如果系统存在文件上传功能,攻击者甚至能直接执行远程代码。
版本检查:第一道防线
打开服务器终端,输入./version.sh或查看Tomcat启动日志,版本信息一目了然。根据Apache官方公告,受影响的范围很明确:
- Tomcat 7版本低于7.0.100
- Tomcat 8版本低于8.5.51
- Tomcat 9版本低于9.0.31
发现版本落在危险区间时,那种感觉就像发现家门虚掩——必须立即采取行动。
AJP端口探测技巧
在server.xml配置文件中,AJP连接器通常这样配置:
<Connector port="8009" protocol="AJP/1.3" />
使用nmap进行端口扫描是最直接的检测方式:nmap -sV -p 8009 目标IP。如果8009端口开放且运行着AJP服务,风险指数就会直线上升。
实战检测:模拟攻击验证
真正的安全专家不会只停留在理论层面。利用公开的POC检测脚本,可以模拟攻击者行为进行验证。比如尝试读取WEB-INF/web.xml文件:
python CVE-2020-1938.py 目标IP -p 8009 -f WEB-INF/web.xml
当脚本成功返回配置文件内容时,证明漏洞确实存在。这种"亲眼所见"的验证,比任何理论分析都更有说服力。
临时缓解措施验证
如果暂时无法升级,注释掉server.xml中的AJP连接器是最直接的解决方案。修改后重启Tomcat,再次使用nmap扫描,8009端口应该显示为关闭状态。这种"断网疗法"虽然粗暴,但在紧急情况下确实有效。
安全从来不是一劳永逸的事。定期检查、及时更新、持续监控,这才是守护服务器的正确姿势。毕竟在网络安全的世界里,侥幸心理往往是最昂贵的奢侈品。

参与讨论
之前搞过Tomcat升级,7.0.99升到7.0.100折腾了好久
nmap扫一下8009就完事了?试了下没反应啊
临时注释AJP连接器真能解决问题?重启后服务正常吗
又是AJP背锅,我们早关了这玩意😂
感觉还行,至少知道咋自查了
这漏洞太吓人了,8009端口居然能直接读配置文件?
太贵了吧这也,修个漏洞还得停服务,小公司扛不住啊
版本检查那步挺实用,之前都没注意过
nmap扫描这招可以试试,回头测下自家服务器