我是java安全的新手,我需要为我的项目实现输入验证器,我们使用的是struts 2.5.13,我们正在通过对比安全工具进行测试。
对比工具显示了一个漏洞,即“表达式语言注入”,在我对Owasp网站的研究中,我看到了两个项目,一个是Stinger过滤器,另一个是参数验证过滤器。我很困惑,无法决定哪一个更好,并能为我的申请提供更多的保护。
任何一个安全专家都可以回答这个问题,我想知道这两个项目的想法,以及我应该使用哪个项目,以及为什么你认为这样做更好。
如果您能提供一些详细的见解并帮助我理解安全原则,我将感谢您。
发布于 2020-01-27 05:29:58
毒刺和PVF都很古老。我也不会用。幸运的是,您不需要验证。您需要防止不受信任的输入(如HTTP参数)进入表达式引擎。所以看看对比给你的整个堆栈。在代码中找到实现这一目标的地方。那就修好它。不幸的是,问题可能不在您的代码中,可能是Struts本身。在这种情况下,您应该升级到最新版本。如果这不能解决问题,那么您已经在Struts中发现了一个新的漏洞--名声和财富在等待。或者,您可以打开对比保护,以防止所有EL漏洞被利用。
https://stackoverflow.com/questions/50783420
复制相似问题