|
|
1
6
如果此GWT RPC正由浏览器使用,那么它100%易受CSRF攻击。可以在HTML中设置内容类型
以下是我所写的一些漏洞,应该对我描述的模糊攻击有所了解。这方面的flash漏洞看起来像 this 和 here 是更改内容类型的JS/HTML漏洞。 我的漏洞是为flex 3.2编写的,flex 4(flash 10)中的规则已经改变了,这里是 latest rules ,大多数头只能为请求投递操作。
使用的Flash脚本
|
|
|
2
4
GWT2.3引入了一种更好的机制来抵御XSRF攻击。见 GWT RPC XSRF protection |
|
|
3
3
我知道我问了这个问题,但是经过一天的研究(感谢鲁克的指点!)我想我知道答案了。 GWT提供的开箱即用不会保护您免受CSRF的影响。你必须采取记录在案的步骤 Security for GWT Applications 保持安全。 GWT RPC将“content-type”头设置为“text/x-gwt-rpc;charset=utf-8”。虽然我找不到使用HTML表单来设置它的方法,但在Flash中这样做很简单。 自定义头文件-x-gwt-permutation和x-gwt-module-base有点复杂。不能使用HTML设置它们。而且,他们 不能 除非服务器在crossdomain.xml中特别允许,否则使用flash进行设置。见 Flash Player 10 Security 。
现在GWT的RPC有两种味道。有旧的自定义序列化格式rpc和新的基于json的derpc。afaict,客户机代码总是设置这些请求头。旧式的RPC现在不在服务器端强制这些头文件,因此CSRF攻击是可能的。新样式的de rpc强制这些头文件,因此可能攻击它们,也可能不攻击它们。 总的来说,如果您关心安全,请确保在您的请求中发送强大的CSRF令牌,以及 不要 依靠GWT为您预防。 |
|
4
0
我不确定,如果有一个简单的方法(我也会非常有兴趣找到答案!),但至少有一些高级方法可以实现具有任意头的任意跨站点请求: http://www.springerlink.com/content/h65wj72526715701/ 我还没有买这篇论文,但是摘要和导言听起来很有趣。 也许这里有人已经阅读了这篇论文的完整版本,并且可以稍微扩展一点? |