GWT RPC XSRF保护

时间:2013-05-14 13:20:59

标签: gwt rpc csrf protection

在添加GWT RPC XSRF保护后,RPC调用应该有什么不同?

我按照这篇文章中提到的更改(GWT (2.4.0) + XSRFhttps://developers.google.com/web-toolkit/doc/latest/DevGuideSecurityRpcXsrf)并使GWT RPC XSRF正常工作,我看到我的RPC调用包含在“com.google.gwt.user.client”中.rpc.XsrfToken“,但是我仍然可以拦截Fiddler中的请求并更改请求以获取其他内容,我认为在这种保护之后,我将无法做到这一点?

我可以在Fidder中更改原始请求中的 getFirstURL ,以获取另一个有效参数,例如“ getSecondURL

http://127.0.0.1:8888/myapp/|AC7025AD520A4366B89A555020174220|com.google.gwt.user.client.rpc.XsrfToken/4254043109|EC4AE16148312F61EB4C4DA365F2F4B2|com.myapp.service.MyService|getFirstURL

1 个答案:

答案 0 :(得分:1)

你所描述的不是XSRF,而是MITM。为了防止MITM,必须使用HTTPS(或签署请求,但这在浏览器中是不切实际的,如果可能的话)。

为了简化,XSRF是关于攻击者站点伪造跨站点请求(因此名称)到受害者站点,并利用现有cookie(或其他)来验证用户,从而获得对其的访问权限个人数据和/或代表他进行更改。为了缓解这种情况,服务器使用用户会话对与会话相关联的令牌验证每个请求,但这是请求有效负载的一部分(浏览器会自动添加cookie)因此,您不需要知道它,提出请求的一方必须知道令牌,并且攻击者可能不知道有效令牌。