Web中间件漏洞之Tomcat篇

Tomcat简介Tomcat服务器是一款免费、开源的Web应用服务器,专为轻量级应用程序而设计,广泛应用于中小型系统以及并发访问用户不多的场合。
对于初学者来说,它可以作为您开发和调试JSP程序的首选服务器。
当运行在Windows主机上时,Tomcat作为Apache服务器扩展独立运行,并且可以响应访问HTML页面的请求。
远程代码执行漏洞及修复攻击者通过构造攻击请求,使用Tomcat在Windows主机上执行,并启用HTTPPUT请求方法,可以上传包含任意代码的JSP文件,从而获得任意代码的执行。
受此漏洞影响的版本为ApacheTomcat7.0.0至7.0.81。
重现步骤包括配置漏洞、启用PUT方法上传文件、插入相关配置文件、重启服务、通过burp抓包、将请求方法更改为PUT、创建并加载包含命令执行代码的JSP文件,最后验证代码是否正确执行。
修复包括检测当前版本是否受到影响以及禁用PUT方法或更新到最新版本。
弱口令war包后台分发漏洞及修复Tomcat支持后台分发war文件以及直接分发webshel​​l到web目录。
如果后台管理页面存在弱密码,攻击者可以通过爆破获取密码,然后加载并运行webshel​​l。
修复方法包括在系统上以低权限运行Tomcat、创建专用的Tomcat服务用户并设置最低权限、添加本地和基于证书的身份验证、实施帐户锁定机制以及对特定目录设置最低权限访问限制以避免使用弱密码资源。
反序列化漏洞及解决方法该漏洞与Oracle发布的mxRemoteLifecycleListener反序列化漏洞相关,是由于使用JmxRemoteLifecycleListener监听函数导致的。
Oracle发布修复后,Tomcat未能及时修补更新,导致远程代码执行。
受该漏洞影响的版本包括9.0.0.M1至9.0.0.M11、8.5.0至8.5.6、8.0.0.RC1至8.0.38、7.0.0至7.0.72、6.0.0至6.0。
47.重放步骤需要外部打开JmxRemoteLifecycleListener监听的端口,修改配置文件和脚本,下载并部署相关jar包,验证远程代码执行。
修复措施包括禁用JmxRemoteLifecycleListener功能或对远程端口实施网络访问控制、添加严格的认证方式、根据官方版本更新相应版本等。

ApacheTomcatAJP文件包含漏洞(CVE-2020-1938)

ApacheTomcat作为主流Java中间件服务器之一,在全球范围内得到广泛应用。
然而,长亭科技安全研究人员发现的Ghostcat漏洞存在于Tomcat的AJP协议中,存在严重的安全风险。
该漏洞允许攻击者通过TomcatAJPConnector读取或插入Tomcat上所有Web应用程序目录中的任意文件,包括Web应用程序配置文件和源代码,甚至在目标应用程序具有文件上传功能时,利用文件注入进行远程代码执行。

为了验证漏洞的影响,可以使用以下环境进行复现:

目标机IP:192.168.1.137攻击机IP:192.168.1.1

访问目标机homepage:

192.168.1.137:8080/

使用Xray等工具进行检测。

尝试读取8009端口下的web.xml文件:

执行读取操作,确认漏洞是否存在。

该文件包含getshell操作:

利用Metasploit生成Java木马。

将木马文件复制到Tomcat目录下,模拟shell.txt上传行为。

启用Metasploit进行监控。

访问shell.txt,触发文件包含,实现远程代码执行。

查看并获取反射炮弹来完成攻击过程。

中间件安全-CVE复现&Weblogic&Jenkins&GlassFish漏洞复现

中间件安全——CVE漏洞频发以及Weblogic、Jenkins、GlassFish案例

中间件安全对于业务攻防至关重要。
常见的中间件如IIS、Apache、Nginx、Tomcat等可能面临配置不当、某些漏洞、弱口令攻击等问题。
Weblogic、Jenkins、GlassFish的漏洞分析和复现流程如下。

Weblogic安全

Weblogic是Java应用服务器,包括CVE_2017_3506、CVE_2018_2893等,可以使用工具直接攻击利用。
例如,您可以使用vulfocus重现CVE_2017_3506,并且当您访问特定URL时,您可以使用现成的工具来检测和执行命令。

JBoss安全

JBoss是一款开源应用服务器,存在CVE-2017-12149和CVE-2017-7504等安全问题。
例如,CVE-2017-12149包含反序列化漏洞,允许通过vulhub环境使用ysoserial工具进行shell攻击和反弹。

Jenkins安全

持续集成工具Jenkins也存在CVE-2017-1000353、CVE-2018-1000861等漏洞。
例如,CVE-2017-1000353可以通过vulfocus或vulhub克隆,并使用从特定工具下载的JDK版本执行命令。

GlassFish安全

GlassFish安全风险包括目录遍历和文件读取,例如CVE-2017-1000028。
通过vulhub环境,可以利用字符编码漏洞实现文件读取和特定URL验证漏洞。

每个中间件的安全测试涉及确定其配置、漏洞和利用方法,以确保系统免受潜在威胁。
重现漏洞时,重要的是在安全范围的环境中操作并遵循最佳实践,以避免现实世界中的安全风险。