【发布时间】:2010-11-07 12:49:03
【问题描述】:
我已经阅读了几个 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 来阻止,然后产生一个查询字符串令牌,它将其余会话的所有 URL 都需要?
到目前为止,它似乎只有在 CAPTCHA 失败时才会失败,例如 OCR 软件是否可以读取文本或是否有机械土耳其人组件。
编辑:考虑到的特定攻击是带有 xhr javascript 或图像标签的电子邮件。因此代码将在电子邮件客户端的浏览器或从本地文件系统加载的 HTML 页面中执行。为简单起见,我认为该站点没有 XSS 漏洞(即恶意用户没有机会将其 HTML 注入站点作为响应发送的 HTML)
【问题讨论】:
标签: security csrf same-origin-policy