漏洞攻击代码评估(Apache Struts)

时间:2018-03-28 10:00:38

标签: security

最近我做了一些漏洞扫描并遇到了一些问题。一个关键问题是代码评估(Apache Struts),即攻击者可以在系统上执行任意Apache Struts代码。攻击者也可以执行任意系统命令。它还提供了一些解决方案,例如不接受来自最终用户的输入,这些输入将被直接解释为源代码。如果这是业务需求,请通过删除可直接解释为Apache Struts源的任何数据来验证应用程序的所有输入 代码。

任何人都可以帮我解决这类问题,因为我无法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

许多这些问题可以通过升级到最新的Apache struts版本来解决。可悲的是,对于许多使用Struts构建的遗留应用程序,这并不总是可能或容易的。

对于“不接受来自最终用户的直接将其解释为源代码的输入”

这与“ Struts OGNL语言”和“ REST插件”漏洞有关。

在这里,resource是阅读此类漏洞的好方法,尤其是在说明中查找包含“远程代码执行”的链接。

问题“无法升级时该怎么办。”

您可以先转义所有输入。专门用于新的struts版本的Struts标记可以很好地转义html,但是如果您有类似jsp的代码

<input id="..." class="..." type="text" name="...." value="<%= some wide open ognl expression""%>"/>

然后需要转义。从此输入返回的java中的值需要进行沙盒处理,并隔离到最大值。同样,通过rest插件获取任何rest数据。即使那样,您可能也不安全,因此请采取适当的措施,以应对从应用程序产生的进程进行的数据访问。

相关问题