CSRF 跨站请求伪造

漏洞原理:伪装成受信任用户请求受信任的网站,其实就是攻击者利用目标用户的身份,以目标用户的名义执行某些非法操作。其也被称为 One Click Attack

漏洞成因:网站的身份验证机制有一定问题,它无法判断该操作是否由该用户执行。

image-20230908104245281

漏洞利用:BurpSuite 中右键生成 CSRF POC 即可

CSRF 可以和 XSS 形成组合拳,如 XSS 自动调用 CSRF POC,或者 CSRF 自动构造存储 XSS 等等。

漏洞修复:

  1. 增加 Token 验证(常用做法),对关键操作增加 Token 参数,token 必须随机,每次都不一样

  2. 关于安全的会话管理(避免会话被利用)

    1. 不要在客户端保存敏感信息(比如身份验证信息)
    2. 退出、关闭浏览器时的会话过期机制
    3. 设置会话过机制,比如 15 分钟无操作,则自动登录超时
  3. 访问控制安全管理

    1. 敏感信息的修改时需要身份进行二次认证,比如修改账号密码,需要判断旧 密码
    2. 敏感信息的修改使用 POST,而不是 GET
    3. 通过 HTTP 头部中的 REFERER 来限制原页面
  4. 增加验证码,一般在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)

修复介绍:

  • 网站要执行某操作,先请求服务器获取 Token,然后携带该 Token 去执行操作,执行后 Token 失效
  • REFERER 表示网站来源,CSRF 构造的请求来源自然是一个恶意的网站,则 REFERER 不符合

CSRF 跨站请求伪造
https://liancccc.github.io/2024/03/15/技术/TOP10/CSRF 跨站请求伪造/
作者
守心
发布于
2024年3月15日
许可协议