首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSRF保护的真正目的是什么?

CSRF保护的真正目的是什么?
EN

Stack Overflow用户
提问于 2012-04-20 07:51:01
回答 4查看 3.6K关注 0票数 14

我很久以前就听说过CSRF,大多数时候我听到的是:

防止CSRF攻击很重要,这样就不会有人自动提交表单(使用机器人或其他方式)。

嗯,这不是100%的事实,对吗?

我已经做了大约3年的web抓取,提出请求、解析csrftokenmiddleware字段并将其与其他字段一起发布非常简单。

那么,这到底是为了什么?

EN

回答 4

Stack Overflow用户

发布于 2012-04-20 11:15:17

假设banking.example.com上有一个电子银行web应用程序,其格式如下,以提交交易:

代码语言:javascript
运行
复制
<form action="/transaction" method="post">
    <input type="text" name="beneficiary"/>
    <input type="text" name="amount"/>
    <input type="submit" value="Pay"/>
</form>

攻击者现在可以使用以下内容在hacker.net上建立一个网站:

代码语言:javascript
运行
复制
<form action="https://banking.example.com/transaction" method="post" style="visibility:hidden">
    <input type="text" name="beneficiary" value="John Doe, Account No. 34-236326-1"/>
    <input type="text" name="amount" value="1000000"/>
    <input type="submit" value="Pay"/>
</form>
<script>
    document.forms[0].submit();
</script>

然后,攻击者会欺骗受害者访问hacker.net,这将导致受害者的浏览器向电子银行应用程序发送一个POST请求,向黑客进行大的交易。这是因为受害者的浏览器愉快地将会话cookie与伪造的POST请求一起发送到电子银行应用程序。如果表单受到CSRF令牌的保护,则攻击者不可能导致受害者的浏览器发送有效的POST请求,因此攻击是不可能的。

这种类型的攻击称为跨站点请求伪造(CSRF)攻击。

顺便说一句,CSRF攻击也是为什么人们在登录到电子银行或其他重要的web应用程序时,提供永远不要访问其他网站的建议。

CSRF令牌不保护由常规授权用户作为自己自动提交的web表单。为了防止这种情况发生,您可以使用卡普查

票数 18
EN

Stack Overflow用户

发布于 2012-04-20 07:58:28

是的,您可以刮掉表单并获得CSRF预防令牌。但是你不能在不刮掉网站的情况下提交表单,你也不能从其他人那里得到一个令牌,然后提交表单--它是链接到一个会话的。这正是CSRF保护真正防止的,有人欺骗用户提交表单。

关于CSRF的更一般的描述,最初是针对Django的评论框架和CSRF发布的

CSRF是一种攻击,在这种攻击中,未经许可访问资源的人欺骗了拥有访问资源权限的人。 因此,例如,CSRF保护可以防止有人欺骗用户发布带有垃圾邮件或恶意软件链接的评论。或者,它们欺骗用户提出的请求可能格式错误、导致ways服务器崩溃、或包含代码,这些代码的目的是通过验证过程,对数据库造成损害,或以其他方式危害您的站点。 因此,如果没有CSRF保护,理论上有人可以欺骗登录用户提交他们实际上没有写的评论。 使用CSRF保护,Django将检测到它不是通过站点上的实际表单提交的真实数据,并将拒绝它。

票数 9
EN

Stack Overflow用户

发布于 2014-08-12 19:46:59

你不可能

若要发出请求,请解析csrfToken中间件字段并将其与其他字段一起发布。

因为如果您的服务器配置为适当地,不同域上的JS将无法从您的域获取和使用数据来构造请求。

阅读关于CORS的文章。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10242263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档