我在考虑将Play用于大型项目,那么,是否有任何经过战斗考验的OWASP Top 10 Play框架?您在Play框架中是否存在任何安全问题?playframework owasp top 10
回答
在OWASP十大用(一些信息here):
A1:注射
使用JPA和默认
A2逃逸字符串:跨站脚本( XSS)
自版本1.0.1起,Play的模板引擎会自动转义字符串
A3:破坏的身份验证和会话管理
播放是无状态的,没有涉及任何会话。 Cookie使用密码保护。通过哈希数据库(密码)上安全地存储数据依赖于用户,而不是框架
A4:不安全的直接对象引用
同样,这取决于开发者验证访问资源允许的,没有那么多的框架
A5:跨站请求伪造(CSRF)
POST请求允许真实性标记,以防止这一点。当然,这使用GET/POST取决于开发商正确
A6:安全配置错误
默认的错误报告过程似乎对生产(不具有堆栈跟踪泄漏)的安全。唯一担心的是在路线的“一网打尽”条目,但这应该在生产模式中注释掉
A7:不安全的加密存储
开发者有责任对数据库中的敏感信息进行加密
A8:未能限制URL访问
开发人员必须实施安全限制(通过@Before,就像本教程中所述)来禁止访问禁止页面。
A9:没有足够的传输层保护
播放支持SSL
A10:未经验证的重定向和转发
播放重定向是通过302,而不是硬编码字符串,应防止这一点。
TL; DR:在框架可以完成所有工作的部分,Play做到了。在开发人员需要完成所有工作的部分,开发人员需要完成所有工作。每个游戏需要50%的部分,游戏提供50%。
让我们这样说吧:没有理由认为你应该比其他任何Java框架安全。在很多情况下,你可以认为它更安全。随着Play对开发人员,无状态和REST框架的使用变得容易,您可以减少混乱的机会。
关于A3,你需要小心。 Play有两种类型的会话变量。一个是session()
其中是数字签名,另一个是flash()
这是不是签名。 都存储在Cookie 客户端,如果您决定在那里存储敏感数据,可能会引发隐私问题。
另外就A7(加密技术)而言,请注意Play提供了一个方便的Crypto
库,但其加密使用ECB模式,该模式再次打开whole new group of potential issues。
- 1. SELECT TOP 10 rows
- 2. 采取(10)与TOP 10与SqlDataReader?
- 3. Oracle SELECT TOP 10条记录
- 4. OWASP和ADFS 2.0
- 5. 确保TOP(10)%的包括范围
- 6. 猫鼬限制TOP 10没有排序
- 7. 如何查询TOP 10,AVG不同值
- 8. 最好的图书馆/做法,以防止OWASP前10漏洞
- 9. OWASP ZAP Proxy冻结
- 10. 安装OWASP的WebScarab
- 11. 核心OWASP ModSecurity - 允许JSON
- 12. OWASP 2010 - 安全配置错误例如
- 13. ElementCollection使用PlayFrameWork
- 14. 如何在MySQL中使用组合数据行获得TOP 10?
- 15. MSSQL:如何显示来自GROUP BY查询的TOP 10项目?
- 16. SQL TOP 10排名查询帮助必需
- 17. 利用并行性生成Ordered Windowed Aggregations(即Top 10查询)
- 18. 查询与TOP 10类似以选择中间记录?
- 19. Dynamic Top N Filtering
- 20. ScalaTest PlayFramework
- 21. XSLT list top 50
- 22. Telerik RadTabStrip + OWASP安全异常
- 23. 经典ASP中的OWASP
- 24. SELECT TOP 20%SQL
- 25. top:50%;在Safari
- 26. SQL:如何在TOP TOP @amount中使用TOP参数?
- 27. 合并navbar-fixed-top和navbar-static-top
- 28. TOP性能问题
- 29. 使用python-owasp-zap-v2.4包自动化python中的OWASP渗透测试
- 30. Fixtures.loadModels不PlayFramework
关于A1:JPA仅适用于Java。 Anorm是否使用'PreparedStatement'来防止SQL注入呢? – Jonas 2011-06-17 10:10:54
我对无状态框架没有任何经验,因为这个问题:怎么玩!处理会话通常会做的事情? – Rekin 2011-06-17 10:14:25
好吧,我想答案是:http://zef.me/883/the-share-nothing-architecture – Rekin 2011-06-17 10:19:01