2013-05-14 81 views
0

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

我跟着这个职位(GWT (2.4.0) + XSRFhttps://developers.google.com/web-toolkit/doc/latest/DevGuideSecurityRpcXsrf)中提到的变化,得到了GWT RPC XSRF上班,我看到我的RPC调用包裹在“com.google.gwt.user.client.rpc.XsrfToken”,然而我仍然可以拦截在提琴手中的请求,并改变请求让我得到其他东西,我想在这种保护之后,我将无法做到这一点?

我可以改变getFirstURL在Fidder酒店原始请求让我另一个有效参数,说:“getSecondURL

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

回答

1

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

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

+0

谢谢汤姆,这有帮助!但是,那么我如何在原始RPC请求中模拟XSRF攻击,以及如何测试GWT RPC XSRF修复是否正常工作,需要一种方法来模拟这种攻击? – Jay 2013-05-14 13:53:57