Struts2漏洞是指存在于Apache Struts2框架中的多个安全缺陷,这些缺陷可能导致远程代码执行、命令注入以及其他形式的攻击,以下是对Struts2漏洞的详细解析:
一、漏洞
漏洞名称:Struts2漏洞
漏洞类型:远程代码执行(RCE)、命令注入等
影响范围:多个版本的Struts2框架
危害等级:高危
二、漏洞详情
漏洞编号 | 漏洞描述 | 影响版本 | 复现步骤 |
S2-001 | 用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中,导致命令执行。 | WebWork 2.1 (with altSyntax enabled)、WebWork 2.2.0 WebWork 2.2.5、Struts 2.0.0 Struts 2.0.8 | 1. 验证是否存在远程代码执行:在输入框中输入%{value} 格式字符串并提交。2. 成功显示value的值,说明存在此漏洞。 |
S2-003 | Struts2解析参数名称使用了OGNL表达式,构建恶意OGNL表达式会造成注入。 | Struts 2.0.0 Struts 2.1.8.1 | URL后拼接`?('u0023context['xwork.MethodAccessor.denyMethodExecution']u003dfalse')(bla)(bla)&('u0023_memberAccess.excludePropertiesu003d@java.util.Collections@EMPTY_SET')(kxlzx)(kxlzx)&('u0023mycmdu003d'ipconfig'')(bla)(bla)&('u0023myretu003d@java.lang.Runtime@getRuntime().exec(u0023mycmd)')(bla)(bla)&(A)(('u0023mydatu003dnew 40java.io.DataInputStream(u0023myret.getInputStream())')(bla))&(B)(('u0023myresu003dnew40byte[51020]')(bla))&(C)(('u0023mydat.readFully(u0023myres)')(bla))&(D)(('u0023mystru003dnew40java.lang.String(u0023myres)')(bla))&('u0023myo') |
S2-045 | 基于Jakarta插件上传文件时,可导致远程代码执行。 | Struts 2.3.5 Struts 2.3.31、Struts 2.5 Struts 2.5.10 | 1. 环境搭建:进入指定目录并使用docker-compose启动环境。 2. 漏洞探测:对页面进行抓包并增加payload。 3. 反弹shell:通过构造POC并监听端口实现。 |
S2-062 | 文件上传逻辑存在缺陷,威胁者可操纵文件上传参数导致路径遍历,可能上传恶意文件,造成远程代码执行。 | Struts 2.5.0-Struts 2.5.32、Struts 6.0.0-Struts 6.3.0 | 1. 环境搭建:使用IDEA创建maven项目并配置pom.xml文件。 2. 定义UploadAction并配置struts.xml和web.xml文件。 3. 漏洞复现:通过修改HTTP请求头中的Content-Type值来触发漏洞。 |
三、漏洞成因
Struts2漏洞的成因多半与OGNL(Object-Graph Navigation Language)表达式相关,OGNL是一种功能强大的表达式语言,它允许开发者通过简单一致的表达式语法访问对象的任意属性、调用对象的方法、遍历整个对象的结构图以及实现字段类型转化等功能,正是由于OGNL表达式的这种强大功能,也使得它成为了攻击者利用的目标,攻击者可以通过构造恶意的OGNL表达式来绕过安全限制,进而操纵服务器端上下文对象或执行任意命令。
四、修复建议
针对Struts2漏洞,建议采取以下修复措施:
1、升级Struts2版本:检查并升级到不受漏洞影响的Struts2版本。
2、禁用OGNL表达式:如果业务逻辑允许,可以禁用OGNL表达式的使用,以减少潜在的安全风险。
3、输入验证与过滤:对所有用户输入进行严格的验证和过滤,防止恶意数据的注入。
4、使用安全的编程实践:遵循安全的编程规范,避免直接使用未经处理的用户输入作为代码执行的一部分。
Struts2漏洞是一系列严重的安全缺陷,需要开发人员和系统管理员高度重视并及时采取措施进行修复和防范。
小伙伴们,上文介绍structs 漏洞的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/91039.html