CSRF 2022-05-21

2022-05-21  本文已影响0人  9_SooHyun

跨站请求伪造(Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

一次成功的CSRF攻击需要满足2个条件:1. 冒用了前端用户的登陆态身份 2. 后台服务无条件信任请求

浏览器默认携带本次http请求域名的cookie,这给了攻击者极大的便利去窃取用户的登录态身份。于是,一个典型的CSRF攻击有着如下的流程:

受害者登录a.com,并保留了登录凭证(Cookie)
攻击者引诱受害者访问了b.com
在受害者不之情的情况下,b.com 悄悄地向 a.com 发送了一个请求:a.com/act=xx。由于请求的域是a.com,于是浏览器会默认携带a.com的Cookie(完成身份冒用)
a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求(无条件信任请求)
a.com以受害者的名义执行了act=xx
攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作

CSRF的特点
攻击一般发起在第三方网站
攻击利用受害者在被攻击网站的登录凭证,冒充受害者提交操作;而不是直接窃取数据
整个过程攻击者并不能获取到受害者的登录凭证,仅仅是“冒用”
跨站请求可以用各种方式:图片URL、超链接、CORS、Form提交等等。部分请求方式可以直接嵌入在第三方论坛、文章中,难以进行追踪

因此,为了防止CSRF攻击,前端和后端都做了相应的措施

上一篇 下一篇

猜你喜欢

热点阅读