脆弱性攻击代码评估(Apache Struts)



最近我进行了一些漏洞扫描并遇到了一些问题。一个关键问题是代码评估(Apache Struts(,即攻击者可以在系统上执行任意Apache Struts代码。攻击者也可以执行任意系统命令。它还提供了一些解决方案,例如不接受最终用户的输入,这些输入将直接解释为源代码。如果这是业务需求代码。

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

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

"不接受最终用户的输入,这些输入将直接解释为源代码"

这与" Struts OGNL语言"one_answers" REST插件"漏洞有关。

这是一个很好的资源,可以阅读有关此类现有漏洞的更多信息,特别是查找描述中包含"远程代码执行"的链接。

问题"当您无法升级时该怎么办。"

您可以从逃脱所有输入开始。撑杆标签,特别是对于新的Struts版本,可以很好地逃脱HTML,但是如果您有JSP代码,例如

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

然后需要逃脱。从该输入中返回的Java中的值需要沙箱并隔离到最大。同样,通过REST插件进行任何REST数据。即使那样,您也可能不安全,因此请采取适当的措施对您的应用程序产生的流程进行数据访问。

最新更新