OWASP Top10 系列之 CSRF

OWASP Top10 系列 - CSRF

原理

一句话描述

  • 甲方:在用户已经登录目标网站之后,对用户请求的 url 未经进一步的身份验证,导致攻击者以合法用户的身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。
  • 乙方:在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对合法用户的信任,以合法用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的。

利用

攻击点:所有操作接口(可能需要认证,可能不需要)

组件

  • 浏览器
  • js

类型

  1. 背地操作
    1. post 型
    2. get 型
  2. 蠕虫

详细:传送门🚪

工具

待续...

WooYun Package

待续...

防御

  1. 浏览器防御:
    1. 保护 Cookies
  2. 开发防御
    1. 强制用户交互
      1. 利用 POST 防御:将易被攻击的 GET 型请求改为相对好一点的 POST 型请求
      2. 验证码:重要操作需要提交验证码
    2. 二次验证
      1. 检查请求来源:检查 referer 或者 origin 是否是自己的网站
      2. Token:要求请求携带一个一次性的 Token,后端判断这个 Token 是否是后端分配的
      3. 双重 Cookie 验证:要求请求携带一个 Cookie 中的值,后端判断 Cookie 的值与请求的值是否一致
      4. Samesite Cookie:Set-Cookie 响应头新增 Samesite 属性,用来标明这个 Cookie 是个 同站 Cookie,同站 Cookie 只能作为第一方 Cookie,不能作为第三方 Cookie。
      5. JWT:跨域身份验证解决方案,服务器不保存任何会话数据,即服务器变为无状态,使其更容易扩展,替代传统的在服务器端创建一个 session 返回一个 cookie。
  3. 用户防御
    1. 浏览邮件或者新闻使用 APP
    2. 尽量不要打开可疑的链接,一定要打开时,使用不常用的浏览器。
    3. 及时手动退出登录,尤其是那些重要的网站

详细:传送门🚪

相关文章

FreeBuf 文章:如何防止CSRF攻击?

来呀快活呀


OWASP Top10 系列之 CSRF
https://www.tr0y.wang/2019/06/02/OWASP-Top10-系列之CSRF/
作者
Tr0y
发布于
2019年6月2日
更新于
2024年4月12日
许可协议