Kum*_*mar 4 java spring-mvc esapi hdiv
我计划使用Spring MVC开发一个Web应用程序,并试图弄清楚哪个是最好的库来用于超过10个OWASP问题.我来看两个HDIV和ESAPI,任何人都可以帮我理解它们之间的区别.
谢谢您的帮助.
rbe*_*sko 17
首先,我认为两种Web应用程序安全框架的方法和范围是不同的.在某些方面,它们也可以是可以一起使用的互补解决方案.
关于该方法,HDIV尝试通过与Web框架的集成来自动化安全性最佳实践.为了实现这种方法,HDIV已经集成在一些最常用的Java/JVM Web框架中,例如:Spring MVC,Grails,JSF,Struts 1,Struts 2.重要的是要注意,如果您的应用程序使用Web框架标签为了呈现链接和表单,HDIV不需要在源代码中进行任何更改,只需要声明性配置(基于XML或Java配置的配置).
另一方面,ESAPI提供了许多开发人员必须在其源代码中使用的实用程序(API).换句话说,程序员必须在其源代码中手动包含所有这些实用程序.ESAPI不依赖于Web框架,可以在任何Web应用程序中使用,因为它没有与Web框架集成.
关于范围,HDIV不包括ESAPI提供的一些功能,也仅限于支持的Web框架.值得注意的是,Web框架(Struts,Spring MVC,...)或Spring Security等解决方案已经涵盖了其中一些功能:
HDIV旨在补充Java EE,Spring Security和Web框架提供的安全功能.
为了更深入地了解HDIV和ESAPI之间的差异,我将尝试比较这些功能,以涵盖OWASP十大网络风险与两个框架.我在github(https://github.com/ESAPI)中包含了ESAPI 2.x和ESAPI 3.x中包含的功能.
A1-注射:
A2-Broken认证和会话管理:
A3-XSS:与A1相同,但在这种情况下避免XSS风险.
A4-Insecure Direct Object References:
A5-安全配置错误:
A6敏感数据暴露:
A7缺失功能级访问控制:
A8-跨站请求伪造(CSRF):
A9-使用已知漏洞的组件:
A10-未经验证的重定向和转发:此漏洞主要与先前在服务器端生成的不可编辑数据或数据的操作有关,与A4非常相似.
Roberto Velasco Sarasola(HDIV团队)
首先,OWASP的ESAPI已不再是OWASP的旗舰产品:图书馆的主要开发工作停滞不前,2.1版本只是为了修复一个主要的CVE.看起来常规贡献进入HDIV库.HDIV还有大量资源,展示如何将其集成到通用Web框架中 - 他们的文档涵盖了Spring,Grails,当然它也是从Struts1和Struts2开始的.
HDIV提供了一个讨论其架构的powerpoint.虽然我真的不喜欢它,它说它消除了 XSS(它没有,也不可能),基本架构看起来非常好.
在搜索文档时,HDIV似乎唯一缺少的是一种规范化 - 入侵检测的方法.从理论上讲,因为它依赖于对不可编辑数据的哈希,所以你会收到警告,有人试图篡改你的参数.但是,使用esapi,它会检测多个编码攻击并相应地通知您 - 它会为您提供更好的信息.(参数名称,用户ID和尝试输入.)
此外,HDIV似乎没有ESAPI提供的几个功能:
validation.properties.| 归档时间: | 
 | 
| 查看次数: | 6434 次 | 
| 最近记录: |