前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Struts2-062_RCE简单复现(CVE-2021-31805)

Struts2-062_RCE简单复现(CVE-2021-31805)

作者头像
乌鸦安全
发布2022-06-07 18:45:21
1.5K0
发布2022-06-07 18:45:21
举报
文章被收录于专栏:乌鸦安全乌鸦安全

乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!

本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!

更新时间:2022.04.16

本文首发乌鸦安全知识星球!

1. 漏洞介绍

1.1 漏洞描述

20220413号,apache官网公布了Struts2 最新版远程代码执行漏洞,该漏洞编号为CVE-2021-31805Apache Struts2是一个用于开发Java EE网络应用程序的Web框架。在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。

本次漏洞是对CVE-2020-17530修复之后的绕过,当使用语法%{...}应用强制OGNL解析,某些tag标签的属性仍然可以被二次解析。

1.2 影响版本

Apache Struts 2.0.0-2.5.29

俗话说:Struts2 凭借一己之力养活了安全圈是很有道理的。

2. 漏洞复现

本次漏洞复现为本地环境,使用开源靶场vulhubs2-61的环境:

代码语言:javascript
复制
https://github.com/vulhub/vulhub/tree/master/struts2/s2-061

使用命令:docker-compose up -d --build启动环境:

看下当前的端口:docker ps

直接访问:http://127.0.0.1:8080/

因为本次复现的是S2-62的漏洞,所以在这里使用S2-62的一个exp

代码语言:javascript
复制
https://github.com/YanMu2020/s2-062

探测漏洞:

代码语言:javascript
复制
python3 s2-062.py --url http://127.0.0.1:8080/

执行命令:

代码语言:javascript
复制
python3 s2-062.py --url http://127.0.0.1:8080/ --cmd ls

漏洞复现之后,记得及时关闭环境:

docker-compose down

3. 修复方法

升级更新到Apache Struts 2.5.30或更高版本。

下载链接:https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.30

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乌鸦安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 漏洞介绍
    • 1.1 漏洞描述
      • 1.2 影响版本
      • 2. 漏洞复现
      • 3. 修复方法
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档