博客
关于我
网络安全-跨站请求伪造(CSRF)的原理、攻击及防御
阅读量:133 次
发布时间:2019-02-26

本文共 1128 字,大约阅读时间需要 3 分钟。

跨站请求伪造(CSRF)攻击全解析

简介

跨站请求伪造(Cross-site Request Forgery,简称 CSRF),也被称为 one-click attack 或 session riding。它是一种通过已登录用户的浏览器 session cookie,执行非本意操作的攻击方式。与 XSS(跨站脚本)不同,CSRF 通过利用网站对用户浏览器的信任,完成恶意操作。

原理

CSRF 攻击的核心在于构造特定链接或请求,诱导已登录用户点击。攻击者通过以下步骤完成攻击:

  • 在自己的网站或邮件中引入恶意链接
  • 用户点击链接后,浏览器自动发送带有 session cookie 的请求
  • 该请求被目标网站误解为来自用户的合法操作
  • 攻击示例

    发现过程

    靶机的攻击过程如下:

  • 靶机准备:使用工具如 Burp Suite 或 Postman 发现目标网站的 CSRF 漏洞。
  • 登录靶机:使用账号 vince 123456 登录靶机。
  • 查看页面源码:发现目标页面的 form 数据未加密,存在 CSRF 漏洞。
  • 链接及请求伪造

    攻击者创建了两个 HTML 文件:

  • click.html:引诱用户点击恶意链接
  • requestforgery.html:包含请求伪造的页面
  • 攻击链接示例:

    http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=♀️&phonenum=13098763456&add=shanghai&email=vince@qq.com&submit=submit

    参数 add 被设置为 shanghai,修改地址。

    攻击过程

    攻击步骤:

  • 点击恶意链接:用户登录状态下点击链接
  • 请求伪造页面:跳转至伪造页面
  • 执行操作:界面刷新后显示修改地址
  • 攻击成功

    登录状态下重复操作,攻击成功修改地址。

    防御措施

    用户防护

  • 不登录:用户应避免在同一浏览器中访问敏感页面
  • 不点击链接:不随意点击来自陌生网站的链接
  • 专用浏览器:访问特殊网站时使用专用浏览器
  • 供应商防护

  • token 验证:使用 token 并设置过期时间
  • 验证码:添加简易验证码
  • 二次验证:在关键操作前核验身份
  • 技术防护

  • 防止 XSS:确保网站安全,不可被 XSS 攻击
  • 随机 token:生成随机 token 替代 session cookie
  • SameSite Attribute:设置 SameSite 属性,防止 cookie 被窃取
  • 总结

    CSRF 攻击通过已登录用户的 session cookie 完成,防御措施需从用户、供应商和技术三个层面入手。结合 token 和验证码等措施,可以有效防御 CSRF 攻击。

    转载地址:http://mwtf.baihongyu.com/

    你可能感兴趣的文章
    n = 3 , while n , continue
    查看>>
    n 叉树后序遍历转换为链表问题的深入探讨
    查看>>
    N!
    查看>>
    N-Gram的基本原理
    查看>>
    n1 c语言程序,全国青少年软件编程等级考试C语言经典程序题10道七
    查看>>
    Nacos Client常用配置
    查看>>
    nacos config
    查看>>
    Nacos Config--服务配置
    查看>>
    Nacos Derby 远程命令执行漏洞(QVD-2024-26473)
    查看>>
    Nacos 与 Eureka、Zookeeper 和 Consul 等其他注册中心的区别
    查看>>
    Nacos 单机集群搭建及常用生产环境配置 | Spring Cloud 3
    查看>>
    Nacos 启动报错[db-load-error]load jdbc.properties error
    查看>>
    Nacos 报Statement cancelled due to timeout or client request
    查看>>
    Nacos 注册服务源码分析
    查看>>
    Nacos 融合 Spring Cloud,成为注册配置中心
    查看>>
    Nacos-注册中心
    查看>>
    Nacos-配置中心
    查看>>
    Nacos2.X 源码分析:为订阅方推送、服务健康检查、集群数据同步、grpc客户端服务端初始化
    查看>>
    Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制
    查看>>
    Nacos2.X源码分析:服务注册、服务发现流程
    查看>>