【问题标题】:Stinger Filter vs parameter Validation Filter毒刺过滤器与参数验证过滤器
【发布时间】:2023-07-12 15:24:01
【问题描述】:

我是 java 安全新手,我需要在我的项目中实现输入验证器,我们使用的是 struts 2.5.13,我们正在通过对比安全工具进行测试。

我们有一个对比工具显示的漏洞,那就是“表达语言注入”,在我对 Owasp 网站的研究期间,我看到了两个项目,一个是 Stinger Filter 和其他 Parameter Validation过滤 。我很困惑,无法决定哪一个更好,可以为我的应用程序提供更多保护。

任何安全专家都可以回答这个问题,我想知道对这两个项目的想法,我应该使用哪一个,以及为什么你认为这更好。

如果您能给我一些详细的见解并帮助我理解安全原则,我将不胜感激。

【问题讨论】:

  • 安全专家可能在这里security.stackexchange.com...我认为您的问题在这里可能被认为过于宽泛。
  • 如果您想保护您的网站,在互联网上向陌生人提问可能不是正确的方法。聘请专家。

标签: java validation security filter owasp


【解决方案1】:

毒刺和 PVF 都是古老的。我也不会用。幸运的是,您不需要验证。您需要防止不受信任的输入(如 HTTP 参数)进入表达式引擎。因此,请查看对比度为您提供的完整堆栈。找出你的代码在哪里实现了这一点。然后修复它。不幸的是,问题可能不在您的代码中,而可能在 Struts 本身。在这种情况下,您应该升级到最新版本。如果这不能解决问题,那么您在 Struts 中发现了一个新漏洞——名利双收。或者您可以只打开对比度保护以防止所有 EL 漏洞被利用。

【讨论】: