CSRF攻击

简介: CSRF(跨站请求伪造)攻击利用用户已登录身份,诱导其触发恶意请求,窃取资金或冒用权限。防御措施包括:使用Token验证、SameSite Cookie、检查Referer、禁止第三方携带Cookie,并在关键操作中添加验证码,有效防止非法请求。
  1. 介绍一下CSRF攻击的原理和防御?
    (Cross Site Request Forgy),打开同一浏览器时其他的网站对本网站造成的影响。原理就是攻击者构造出一个后端请求地址,诱导用户点击或者通过某些途径自动发起请求。如果用户是在登录状态下的话,后端就以为是用户在操作,从而进行相应的逻辑。
    举个例子,用户同时打开了A网站和钓鱼网站。 假设A网站中有一个通过 GET 请求提交用户评论的接口,那么攻击者就可以在钓鱼网站中加入一个图片,图片的地址就是评论接口。

    1.1 CSRF攻击原理
  2. 用户登录A网站
  3. A网站确认身份(给客户端cookie)
  4. B网站页面向A网站发起请求(带上A网站身份)
    1.2 CSRF防御
  5. Get 请求不对数据进行修改
  6. 不让第三方网站访问到用户 Cookie
  7. 阻止第三方网站请求接口
  8. 请求时附带验证信息,比如验证码或者 Token
  9. SameSite
    ○ 可以对 Cookie 设置 SameSite 属性。该属性表示 Cookie 不随着跨域请求发送,可以很大程度减少 CSRF 的攻击,但是该属性目前并不是所有浏览器都兼容。
  10. Token验证
    ○ cookie是发送时自动带上的,而不会主动带上Token,所以在每次发送时主动发送Token
  11. Referer验证
    ○ 对于需要防范 CSRF 的请求,我们可以通过验证 Referer 来判断该请求是否为第三方网站发起的。
  12. 隐藏令牌
    ○ 主动在HTTP头部中添加令牌信息
    禁止第三方网站带cookies
    same-site属性。 设置只有同一站点的请求才能携带cookie
    1.3 CSRF蠕虫
    如果某个用户打开了被攻击网页,并且用户同时访问了攻击者的网页。 那么攻击者的网页就会使用用户的身份发送一些请求,并且常用用户的身份发布一些评论或文章,里面包含攻击者的网页链接。如果其他用户看到了这个用户的这条评论,都甚至可以不点击,其他用户也会被盗用身份发送一些恶意请求。这样病毒的传播就会越来越快,影响越来越大。
    1.4 CSRF攻击危害
    ● 利用用户登录态
    ● 用户不知情
    ● 完成业务请求
    ● 盗取用户资金
    ● 冒充用户发帖背锅
    ● 损坏网站名誉
相关文章
|
域名解析 网络协议 关系型数据库
tcp和udp的区别是什么
TCP和UDP是互联网协议中的传输层协议。TCP是面向连接的,通过三次握手建立可靠连接,提供数据顺序和可靠性保证,适用于HTTP、FTP等需要保证数据完整性的应用。UDP则是无连接的,数据报独立发送,传输速度快但不保证可靠性,常用于实时通信、流媒体和DNS解析等对速度要求高的场景。根据应用需求选择合适的协议至关重要。
tcp和udp的区别是什么
|
5月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
51161 73
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
9月前
|
存储 大数据 数据处理
别再浪费内存了:Python __slots__ 机制深入解析
Python中`__slots__`通过预定义属性名,避免使用`__dict__`存储,显著减少内存占用并提升访问速度。适用于需创建大量实例的场景,如数据处理、科学计算等,以牺牲动态添加属性为代价换取性能优化。
376 7
别再浪费内存了:Python __slots__ 机制深入解析
|
4月前
|
人工智能 JSON 数据可视化
【AI大屏】今晚失眠夜,Claude Code + 积木报表:AI 生成数据大屏,已达生产级水平
JimuReport AI专题研究 JimuReport积木报表 × Claude Code 一句话生成生产级数据大屏的实战观察[![告别拖拽:Claude Code + 积木报表 一句话生成数据大屏](https://oscimg.oschina.net/oscnet/up0ae082bb5
441 0
|
7月前
|
机器学习/深度学习 决策智能 计算机视觉
基于贝叶斯优化的PatchTST综合能源负荷多变量时间序列预测研究(Python代码实现)
基于贝叶斯优化的PatchTST综合能源负荷多变量时间序列预测研究(Python代码实现)
395 1
|
安全 Java API
深入解析 Spring Security 配置中的 CSRF 启用与 requestMatchers 报错问题
本文深入解析了Spring Security配置中CSRF启用与`requestMatchers`报错的常见问题。针对CSRF,指出默认已启用,无需调用`enable()`,只需移除`disable()`即可恢复。对于`requestMatchers`多路径匹配报错,分析了Spring Security 6.x中方法签名的变化,并提供了三种解决方案:分次调用、自定义匹配器及降级使用`antMatchers()`。最后提醒开发者关注版本兼容性,确保升级平稳过渡。
1742 2
|
9月前
|
安全
1.1 CSRF攻击原理
CSRF攻击利用用户登录态,诱使其在不知情下发送恶意请求,可导致资金被盗、信息泄露、发帖背锅等。防御手段包括:校验Token、SameSite Cookie、验证Referer、禁止第三方带Cookie及隐藏令牌等,有效降低跨站请求伪造风险。
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
921 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
Ubuntu 安全 数据挖掘
揭开Linux系统神秘面纱,选择Centos、Debian、Ubuntu?
CentOS、Debian 和 Ubuntu 三种 Linux 操作系统各具优势和适用场景。CentOS 更适合用于服务器应用,Debian 更适合稳定需求的系统环境,而 Ubuntu 更适合用于桌面操作系统和开发环境等。CentOS 和 Debian 相对保守,重视稳定性和安全性;Ubuntu 侧重更新和更好的可用性,重视用户体验。此外, Ubuntu 在市场上的占有率最高。因此,选择适合自己需求的操作系统非常重要,可以帮助用户提高效率和使用体验。
|
JSON API Go
etcd的安装和使用
etcd的安装和使用
613 0

热门文章

最新文章