Struts 2是一个广泛使用的Java Web应用框架,但历史上也出现了多个严重的漏洞,以下是一些著名的Struts 2漏洞的详细分析:
Struts 2 S2-062(CVE-2021-31805)漏洞
漏洞描述 | 该漏洞是由于2020年S2-061(CVE-2020-17530)的不完整修复造成的,当开发人员使用了%{…}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 |
影响范围 | 2.0.0 |
漏洞分析 | 与S2-059的示例非常相似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数,如果将url参数skillName传递给页面,通常访问https:// |
修复建议 | Apache发布了安全公告,修复了此漏洞,建议用户升级到最新版本或采取其他缓解措施。 |
Struts 2 S2-015漏洞
漏洞描述 | 如果一个请求与任何其他定义的操作不匹配,它将被匹配*,并且所请求的操作名称将用于以操作名称加载JSP文件,1作为OGNL表达式的威胁值,{ }可以在服务器端执行任意的Java代码。 |
影响版本 | Struts 2.0.0 2.3.14.2 |
复现步骤 | 进入到015的环境目录下并启动环境,访问靶机http://192.168.100.244:8080,构造poc并使用抓包工具burp suite修改数据包插入poc。 |
Struts 2 S2-016漏洞
漏洞描述 | 问题主要出在对于特殊URL处理中,redirect与redirectAction后面跟上Ognl表达式会被服务器执行。 |
影响版本 | Struts 2.0.0 – 2.3.15 |
复现步骤 | 进入到016的环境目录下并启动环境,访问靶机http://192.168.100.244:8080,构造poc并使用抓包工具burp suite修改数据包插入poc。 |
Struts 2 S2-066(CVE-2023-50164)漏洞
漏洞描述 | 由于文件上传逻辑存在缺陷,威胁者可操纵文件上传参数导致路径遍历,某些情况下可能上传恶意文件,造成远程代码执行。 |
影响版本 | Struts 2.5.0-Struts 2.5.32,Struts 6.0.0-Struts 6.3.0 |
漏洞复现 | 环境搭建使用Struts 6.3.0,定义一个UploadAction类,并在struts.xml和web.xml中进行配置,通过构造特定请求来触发漏洞。 |
这些漏洞都涉及到OGNL表达式的不当处理,允许攻击者通过构造特定的请求来执行远程代码,为了防范这些漏洞,建议用户及时升级到最新版本的Struts 2,并遵循最佳安全实践来配置和使用Web应用程序。
以上就是关于“struts 2漏洞”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/85906.html