java - 毒刺过滤器与参数验证过滤器
问题描述
我是 java 安全的新手,我需要在我的项目中实现输入验证器,我们使用的是 struts 2.5.13,我们正在通过对比安全工具进行测试。
我们有一个通过对比工具显示的漏洞,那就是“表达语言注入”,在我对 Owasp 网站的研究期间,我看到了两个项目,一个是Stinger Filter和 Other Parameter Validation Filter。我很困惑,无法决定哪一个更好,并且可以为我的应用程序提供更多保护。
任何安全专家都可以回答这个问题,我想知道这两个项目的想法,我应该使用哪个,以及为什么你认为这更好。
如果您能给我一些详细的见解并帮助我理解安全原则,我将不胜感激。
解决方案
毒刺和 PVF 都是古老的。我也不会用。幸运的是,您不需要验证。您需要防止不受信任的输入(如 HTTP 参数)进入表达式引擎。因此,请查看对比度为您提供的完整堆栈。找出你的代码在哪里实现了这一点。然后修复它。不幸的是,问题可能不在您的代码中,而可能在 Struts 本身。在这种情况下,您应该升级到最新版本。如果这不能解决问题,那么您在 Struts 中发现了一个新漏洞——名利双收。或者您可以打开对比度保护以防止所有 EL 漏洞被利用。
推荐阅读
- ruby-on-rails - Rails 5 从我的 API rails 控制器发送图像 png
- java - 在docker-compose中连接tomcat和mysql
- sql - 基于现有列派生其他列
- javascript - Nodemon问题,一直挂着
- jenkins - 文件系统作为 Jenkins 控制台中的超链接
- c# - 将 cURL 命令转换为 RestSharp
- google-apps-script - GmailApp 不会取消标记 Gmail 邮件
- react-native - 获取当前屏幕?
- ios - 使用外部 Scrollview 滚动 Tableview Cell 而不是它自己的滚动?
- java - 使用 Apache Camel 管理超时