我读过几个XSRF解决方案,它们依赖于向响应添加更多的标记,这有助于保护仅在POST上运行的代码。这个想法中的任何逻辑循环漏洞用于防止跨站点请求伪造?
即这将是一个一步到位的攻击依托,响应HTTP页面上GET
<img src="http://amazon.com/buybook/anarchistscookbook/mailto/me/execute.php">
但随着像jQuery更好的库,它变得越来越容易编写恶意的JavaScript XmlHttpRequest的脚本,可以做两(一个GET,解析Anti-XSRF视图状态/查询字符串/额外的cookie等),然后提交POST。 (或者说,我不担心AES很快就会被破解,我是否应该担心针对HTTP POST操作的2步XSRF攻击变得与上面显示的img标签攻击一样容易?)
我想一步攻击主要可以通过在GET上做任何不感兴趣的事情来解决,这两种攻击都可以通过要求网站用户解决CAPTCHA来实现,然后CAPTCHA会获得所有URL所需的查询字符串标记会议?
到目前为止,它似乎只会在CAPTCHA失败时失败,比如OCR软件可以读取文本或者是否有机械turk组件。
编辑:特定的攻击在脑海中是一个电子邮件与xhr JavaScript或图像标记。所以代码将在电子邮件客户端的浏览器或从本地文件系统加载的HTML页面中执行。为了简单起见,我在想象该网站没有XSS漏洞(即没有机会让恶意用户将HTML注入到网站发送的HTML中)
嗯,有趣。你提到的HTTP只有双重提交的cookies,对吧? 关于XSS,真实的,但你并不需要XSS拉过一个XSRF?典型的例子是一个电子邮件,其中包含用于POST的JavaScript或用于GET的图像标记。 – MatthewMartin 2009-07-02 04:52:27
如果一个网站没有试图减轻XSRF的话,那么是的,一个坏人将不需要XSS利用它。 针对XSRF的典型防御措施是在表单或cookie中使用一次性令牌。如果有问题的网站存在XSS漏洞,此防御通常无效。 – EricLaw 2009-07-06 03:06:37