CVE-2020-2551复现

影响范围:10.3.6.0.0,12.1.3.0.0,12.2.1.4.0,12.2.1.3.0 具体可以看宇师傅的博客,https://www.r4v3zn.com/posts/b64d9185/#more 写的非常详细,各种问题也已经说明,网上也已经有具体的Poc了,直接拷贝下来让后把相关的包添加即可,可以稍微修改一下代码自定义

Tips:这里会有一个坑就是包要与要打的目标相同,不然会出现Mismatched serialization UIDs错误,解决方法就从安装的Weblogic中复制到包的目录下即可

复现环境

  • windows2008 R2 x64

  • Weblogic版本:12.2.1.3.0

  • Jdk版本:8u112(本来是用最新的,后面因为高版本的jdk受trustURLCodebase影响不能远程加载class,导致无法复现成功)

    这里放一张经典图片来说明

JNDI注入这里没有使用marshalsec,而是使用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar这个工具,个人认为比marshalsec方便快捷许多,少了一些繁琐的步骤 膜Welk1n师傅一下

复现过程

将Weblogic搭建好后去到目录user_projects\domains\base_domain运行startWeblogic.cmd,即可启动Weblogic,访问

image-20200313190937366

出现上面的Weblogic登录页面则Weblogic搭建成功

将JNDI访问启动命令:

1
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "calc.exe" -A "127.0.0.1"

-C为要执行的命令, -A为JNDI服务地址,成功运行后如图

运行我们的Poc将rmi地址填入,这里填jdk7的rmi地址也是可以复现成功的

成功利用,并弹出了我们期待的calc

在低版本jdk中编译可以用javac Poc.java -source 1.6 -target 1.6命令来编译,同样类的版本要对应,听Wyatu师傅说有通用版本的利用方式,只能感慨师傅们Tql,Orz