【发布时间】:2018-06-26 21:51:00
【问题描述】:
所以我目前正在开发一个 Web 应用程序,并且我选择使用 JWT 作为我的 api 的访问令牌。
我已尝试阅读有关 XSRF 攻击的所有内容,当我尝试更深入地了解它们的执行方式时,我似乎得到的唯一答案是攻击者创建了一个站点并诱使用户加载它。攻击者的站点包含一个 img 标签,它向我的 URI 发送一个 GET 请求,由于 javascript 会自动添加用户的 cookie 以及对我的 URI 的调用。
第一个问题:有人真的允许从 GET 更改数据服务器端吗?或者这只是攻击者检索用户数据的方式?
第二个问题:如何使用 POST/PUT 执行 XSRF 攻击?我似乎无法在任何地方找到一个明确的例子。诡计网站可以只对我的 URI 运行 AJAX 调用,然后用户的 cookie 会随它一起发送吗?如果是这样,为什么要打扰整个 img 标签的事情呢?普通用户不会查看源代码。
【问题讨论】:
-
您也可以使用
GET请求更新数据。您将数据作为查询参数的一部分传递,用于更改数据(这更像是一种 hack) -
Sushanth 的理论可以通过设计一个使用
GET方法而不是POST方法的表单来证明,并观察表单提交导致变化的URL。 -
小修正:不是 JavaScript 会自动将 cookie 添加到请求中,而是浏览器本身。好问题!
标签: javascript jwt csrf