Struts2漏洞,我们如何保护我们的网站免受攻击?

Struts2 漏洞 漏洞编号 影响版本 漏洞原理 复现方式
S2-001 CVE-2007-4556 Struts 2.0.0 2.0.8 用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中,如注册或登录页面,提交失败后一般会默认返回之前提交的数据,由于后端使用%{value}对提交的数据执行了一次OGNL表达式解析,所以可以直接构造Payload进行命令执行。 访问靶机URL:IP地址:端口,在账号密码的输入框中测试是否存在漏洞,当输入%{‘123’}的时候,若点击submit后返回的是123那么就存在漏洞。
S2-003 CVE-2008-6504 Struts 2.0.0 Struts 2.1.8.1 Struts2框架里ParametersInterceptor拦截器中的Ognl表达式解析器存在安全漏洞,这个漏洞允许恶意用户绕过ParametersInterceptor中内置的“#”使用保护,从而能够操纵服务器端上下文对象。 通过构建恶意的Ognl表达式来绕过ParametersInterceptor中内置的“#”使用保护。
S2-005 CVE-2010-1893 Struts 2.0.0 Struts 2.1.8.1 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数,如果将url参数skillName传递给页面,通常访问https:///?skillName=abctest,后端代码执行单次OGNL解析,以检索GET参数传入的数据。
S2-007 CVE-2013-2296 Struts 2.0.0 Struts 2.3.x 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-008 CVE-2012-0391 Struts 2.0.0 Struts 2.1.8.1 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-009 CVE-2011-3923 Struts 2.0.0 Struts 2.1.8.1 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-012 CVE-2014-4176 Struts 2.0.0 Struts 2.3.x 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-013 CVE-2013-4298 Struts 2.0.0 Struts 2.3.x 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-015 CVE-2013-3896 Struts 2.0.0 Struts 2.3.x 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-016 CVE-2013-2251 Struts 2.0.0 Struts 2.3.x 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。
S2-019 CVE-2013-5758 Struts 2.0.0 Struts 2.3.x 该漏洞是由于Apache Struts2中使用了%{...}语法进行强制OGNL解析时,仍有一些特殊的TAG属性可被二次解析,攻击者可构造恶意的OGNL表达式触发漏洞,从而实现远程代码执行。 与S2-005类似,开发人员使用语法%{}定义属性的值,以使该页面动态并引入url参数。

这些漏洞主要源于OGNL表达式的使用不当,导致攻击者可以构造恶意的OGNL表达式,实现远程代码执行等恶意操作,开发者在使用Struts2框架时,应特别注意避免这些安全风险。

Struts2漏洞,我们如何保护我们的网站免受攻击?插图1
(图片来源网络,侵删)

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/62917.html

小末小末
上一篇 2024年9月28日 19:46
下一篇 2024年9月28日 19:56

相关推荐