当前位置: 首页 > news >正文

安全测试 之 安全漏洞 CSRF

1. 背景

安全测试是在功能测试的基础上进行的,它验证软件的安全需求,确保产品在遭受恶意攻击时仍能正常运行,并保护用户信息不受侵犯。

2. CSRF 定义

CSRF(Cross-Site Request Forgery),中文名为“跨站请求伪造”,是一种网络攻击方式,它利用用户已经登录的Web应用程序,通过伪造一个请求,执行非用户意愿的操作。这种攻击通常发生在用户已经登录网站A的情况下,攻击者通过网站B构造一个精心设计的链接或表单,诱使用户点击或提交,从而在用户不知情的情况下,利用其在网站A的登录凭证执行操作,比如转账、更改密码等。

3. CSRF攻击的工作原理

  1. 用户正常登录网站A,并保留了登录状态(通常是通过Cookie)。
  2. 攻击者在网站B上创建了一个恶意页面,该页面包含指向网站A的隐藏表单或脚本,这个表单或脚本会发起一个请求到网站A。
  3. 用户访问了网站B,恶意脚本在用户浏览器后台自动执行,向网站A发送了一个请求,这个请求携带了用户的认证信息(如Cookie)。
  4. 网站A接收到这个请求,因为包含了有效的认证信息,所以会误认为这是用户的正常操作,并执行相应的操作,比如转账。

在这里插入图片描述

4. 防御办法

  • CSRF令牌:在表单或请求中添加一个随机生成的、一次性的令牌,服务器端验证这个令牌是否匹配,以确保请求是来自可信的源。
  • 同源策略检查:虽然主要针对JavaScript,但确保API响应仅对合法请求响应也是有益的。
  • HTTP头部检查:使用Origin或Referer头部检查请求来源,尽管这并非绝对安全,但可以作为防御措施之一。
  • 限制POST请求的敏感操作:虽然GET请求也应考虑防护,但通常POST请求涉及更敏感的数据操作,应严格控制。
  • 用户教育:教育用户不要轻易点击不明链接,特别是那些要求输入个人信息或确认操作的链接。
  • 框架大多数都避免了这样的问题,比如django,flask,直接设置就行
http://www.lryc.cn/news/365313.html

相关文章:

  • 交易中的预测和跟随
  • vs2022专业版永久密钥
  • MongoDB环境搭建
  • 数据结构【队列】
  • 微信小程序上架,AI类目审核(AI问答、AI绘画、AI换脸)
  • Vue3学习记录(第一天)
  • springboot+vue+mybatis房屋租贷系统+PPT+论文+讲解+售后
  • Day30 登录界面设计
  • VOJ 迷阵突围 题解 次短路径 dijkstra算法
  • Oracle SQL详解
  • 产业,到底需要什么大模型?
  • 每日5题Day17 - LeetCode 81 - 85
  • 后端开发面经系列 --中望C++面经
  • 德国西门子论未来质量管理 - 如何与明天相遇?
  • webpack快速入门---webpack的安装和基本使用
  • 后端开发面经系列 -- 华为C++一面面经
  • csrf漏洞与ssrf漏洞
  • AWS EC2服务器开启root密码,SSH登录
  • 常见代码版本管理工具
  • 最新版点微同城源码34.7+全套插件+小程序前后端
  • 逻辑回归及python实现
  • 大模型押题高考语文作文,带着大模型参加语文高考会怎么样?
  • Linux Ext2/3/4文件系统
  • SIMBA方法解读
  • VueRoute url参数
  • WPS表格插件方方格子【凑数】功能:选出和等于固定数字的数
  • 通过SpringCloudGateway中的GlobalFilter实现鉴权过滤
  • TCP/IP(网络编程)
  • 网工内推 | 网络运维工程师,H3CIE认证优先,13薪,享股票期权
  • QT C++ 基于word模板 在书签位置写入文字和图片