云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

对象存储_文件存储方案_稳定性好

小七 141 0

防止Struts远程代码执行漏洞(S2-057)

8月22日,apachestruts框架中出现了一个新的漏洞。它允许未经验证的攻击者对易受攻击的漏洞执行远程代码执行(RCE)主人。作为安全研究员Man Yue Mo解释说,该漏洞与以前的Apache Struts漏洞有相似之处。Cloudflare WAF已经缓解了这些问题,因此调整规则以处理新的漏洞非常简单。在披露后的几个小时内,我们部署了一个缓解措施,没有客户采取任何行动必需.OGNLStruts RCE有效负载通常以对象图导航库(OGNL)表达式的形式出现。OGNL是一种与Java类的属性和函数交互的语言,apachestruts在很多方面都支持它上下文。用于例如,下面的代码片段使用OGNL通过调用函数将值"5"动态插入到网页中。OGNL表达式也可用于更一般的代码执行:${#_memberAccessallowStaticMethodAccess"]=真,@java.lang.Runtime运行时@getRuntime().exec('calc')}这意味着,如果您能够找到一种让apachestruts执行用户提供的OGNL表达式的方法,您就发现了RCE漏洞。安全研究人员已经发现了大量的漏洞,而这些漏洞正是根源所在因为。什么这次不同了?各种与OGNL相关的Struts漏洞之间的主要区别在于有效负载的位置提供。用于示例S2-003、S2-005和S2-009允许在HTTP参数中包含OGNL表达式。在S2-045中,表达式可以通过"Content-Type"头提供。S2-048通过在ActionMessage类中不正确地使用OGNL表达式的任何地方(很可能是通过HTTP参数)插入OGNL表达式来工作的。塞梅尔在他们的披露中很好地解释了这一点的确切条件邮递员例如,从redirectAction结果类型中省略"namespace"参数。仪表板文档将此参数描述为可选参数。如果不包含显式的"命名空间",则客户端可以在URI.vulnerablesite.com/struts2-空白/我当前的姓名空间/HelloWorld.actionIf客户端插入一个OGNL表达式,它将执行.vulnerablesite.com/struts2-blank/${u memberAccessallowStaticMethodAccess"]=true,@java.lang.Runtime运行时@getRuntime().exec('calc')}/HelloWorld.actionCloudflare你的coveredCloudflare有针对这个特殊漏洞和许多其他Struts漏洞的规则。默认情况下,这些已配置为块,因此无需客户操作,假设您的WAF中启用了Cloudflare Specials规则集配置。用于我们专业、商业和企业计划的客户,您可以转到"防火墙"选项卡:单击"Web应用程序防火墙"并将切换设置为"打开":然后最后确保"Cloudflare Specials"规则集设置为"On"作为如果可能的话,我们通常对OGNL表达式进行签名,因为服务器信任任何用户提供的OGNL是多么危险。这使得WAF可以在不详细了解特定漏洞利用的情况下保护您工作。另外,对于这个和其他Struts漏洞,我们生成了针对可以提供有效负载的特定位置(例如URI、参数等)的规则。通过关注特定的有效载荷向量,这些规则可以在允许的输入范围内更加严格,而不会增加错误的风险积极的。什么我们已经看到了在过去24小时的披露,我们看到了一个相当稳定的速度,攻击目标是S2-057秃鹫可操作性:约一半其中一些来自已知的漏洞扫描器,然而,我们的研究表明,绝大多数有效负载只是探测,而不是试图执行恶意行为。最常见的策略是使用OGNL表达式在服务器响应中打印额外的字符串,或者追加额外的字符串头。在一边从那以后,我们的研究团队也看到了命令:Ipconfig.exedir'cat/etc/passwd'/sbin/ifconfignet usersfile/etc/passwdwhoamidping和nslookup命令联系外部服务器sif如果您对我们的WAF如何工作,或者您是否有适当的保护措施有任何疑问,请随时联系我们的支持团队。