漏洞描述 s2-005漏洞的起源源于S2-003(受影响版本: 低于Struts2.0.12),struts2会将http的每个参数名解析为OGNL语句执行(可理解为java代码)。OGNL表达式通过#来访问struts的对象,struts框架通过过滤#字符防止安全问题,然而通过unicode编码(\u0023)或8进制(\43)即绕过了安全限制,执行任意命令。
相关漏洞推荐 Apache Struts2 S2-067 /index.action 文件上传漏洞(CVE-2024-53677) Apache Struts2 2.0.0~2.2.3 S2-007 /user.action 命令执行漏洞(CVE-2012-0838) POC CVE-2007-4556: OpenSymphony XWork/Apache Struts2 - Remote Code Execution POC CVE-2012-0392: Apache Struts2 S2-008 RCE POC CVE-2013-1965: Apache Struts2 S2-012 RCE POC CVE-2017-12611: Apache Struts2 S2-053 - Remote Code Execution POC CVE-2017-9791: Apache Struts2 S2-053 - Remote Code Execution POC CVE-2017-9805: Apache Struts2 S2-052 - Remote Code Execution POC CVE-2018-11776: Apache Struts2 S2-057 - Remote Code Execution POC CVE-2021-31805: Apache Struts2 S2-062 - Remote Code Execution POC CVE-2007-4556: OpenSymphony XWork/Apache Struts2 - Remote Code Execution S2-001 POC CVE-2012-0392: Apache Struts2 S2-008 RCE POC CVE-2013-1965: Apache Struts2 S2-012 RCE