Pas*_*cal 6 session gwt login csrf
我已经实现了一个简单的GWT应用程序,它具有登录服务(LoginService)和工作服务(WorkerService).两者都是GWT-RPC.我通过实现GWT最新的XsrfProtectedServiceServlet来保护所有针对XSRF的服务(请参阅GWT Xsrf-Safe Sample Projetct).
实现此示例,会在页面加载时在JSP文件中创建会话标识.在这种情况下,即使用户没有登录.
这是正确的方法吗?或者我是否必须在LoginService中创建会话ID(设置cookie)?但是当以这种方式实现时,LoginService本身是否容易受到XSRF攻击?
谢谢,帕斯卡尔
首先,简要回顾一下XSRF:
<img>标记(或一些提交表单POST的JavaScript,......),其URL为"www.your-nice-site.com/doSomeAction"现在很容易看出,XSRF不能用于攻击登录服务本身,因为此时用户尚未获得授权 - 攻击者必须知道用户的凭据才能执行登录.(如果用户已经登录,则调用登录服务应该什么都不做![*])
注意:当然,攻击者可能会使用其他技术对用户的凭据执行攻击,最明显的是:网络钓鱼.反XSRF措施无法保护您免受此攻击.
[*]如果您的服务无法使用反XSRF令牌(例如登录服务)进行保护,那么尤其要确保它们不会返回包含任何有价值信息的有效 JSON/JavaScript!
如果您必须这样做,请始终将响应包装在JavaScript comments(/* */)中,如http://code.google.com/webtoolkit/articles/security_for_gwt_applications.html#json中所述.或者甚至更好:使用while(1);前面的解释,如为什么有"while(1);"中所解释的那样.在XmlHttpRequest响应?.无论如何,这是一个很好的做法.
| 归档时间: |
|
| 查看次数: |
1025 次 |
| 最近记录: |