浏览器基础原理-安全: CSRF攻击

简介: 浏览器基础原理-安全: CSRF攻击

CSRF(Cross-site request forgery)跨站请求伪造


概念: 是指黑客引诱用户打开黑客的网站,在黑客的网站中,利用用户的登录状态发起的跨站请求。简单来讲,CSRF 攻击指黑客利用了用户的登录状态,并通过第三方的站点来做一些坏事。

攻击方式:


1-自动发起 Get 请求


比如将转账请求隐藏在 img 标签内, 欺骗浏览器这是一张图片, 等加载时, 再发起转账请求


2-自动发起 POST 请求


网页内构建隐藏表单, 里面含有转账接口. 通过诱导用户登陆的方式, 来让表单自动提交, 从而执行转账操作.


3-引诱用户点击链接


通过诱导用户点击含有转账接口的链接, 来实现用户资金的转移.


综上, CSRF攻击不需要将恶意代码注入用户的页面, 而是利用服务器的漏洞和用户的登录状态来实现出乎意料的攻击.


如何防止 CSRF 攻击:


发起 CSRF 攻击的三个必要条件:


1-目标网站要有 CSRF 漏洞


2-用户要登录过目标站点, 并且在浏览器上保持有该站点的登录状态


3-需要用户打开一个第三方站点, 可以是黑客的站点, 也可以是一些论坛


满足以上三个条件, 黑客就可以进行 CSRF 攻击了.


如何让服务器避免遭受到 CSRF 攻击, 通常有以下几种途径:


1-充分利用好 Cookie 的 SameSite 属性


设定 Cookie 中的 SameSite 属性来实现对某些关键 Cookie 数据的传送


2-验证请求的来源站点


通过设定HTTP请求头中的Referer和Origin属性来判断是否禁止第三方站点的请求


3-CSRF Token


在向服务器发起请求时, 服务器生成一个 CSRF Token. 若用户端要发起转账请求, 则需要带上这个Token, 同时 服务器 会检验该 Token 是否合法, 若是第三方发起的请求, 没有或者非法都会导致拒绝.


参考: 极客时间-浏览器工作原理与实践


相关文章
|
1月前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
22 0
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
2月前
|
存储 缓存 前端开发
浏览器缓存工作原理是什么?
浏览器缓存工作原理是什么?
|
4天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
2天前
|
安全 前端开发 JavaScript
在Python Web开发过程中:Web框架相关,如何在Web应用中防止CSRF攻击?
在Python Web开发中防范CSRF攻击的关键措施包括:验证HTTP Referer字段、使用CSRF token、自定义HTTP头验证、利用Web框架的防护机制(如Django的`{% csrf_token %}`)、Ajax请求时添加token、设置安全会话cookie及教育用户提高安全意识。定期进行安全审计和测试以应对新威胁。组合运用这些方法能有效提升应用安全性。
7 0
|
12天前
|
存储 中间件 数据安全/隐私保护
Django的CSRF保护机制:保障用户数据安全
【4月更文挑战第15天】Django是一款具有内置CSRF保护的Python Web框架,通过CSRF中间件防止攻击者伪造用户请求。其机制包括:生成并自动添加到表单的CSRF令牌,服务器端的令牌验证以及每个用户会话的唯一令牌存储。为了增强防护,开发者应使用HTTPS,自定义令牌名称,限制跨域请求,并谨慎处理第三方库。Django的CSRF保护与最佳实践结合,能有效保障用户数据安全。
|
2月前
|
存储 安全 前端开发
浏览器跨窗口通信:原理与实践
浏览器跨窗口通信:原理与实践
44 0
|
2月前
|
消息中间件 JavaScript 前端开发
前端秘法进阶篇----这还是我们熟悉的浏览器吗?(浏览器的渲染原理)
前端秘法进阶篇----这还是我们熟悉的浏览器吗?(浏览器的渲染原理)
|
3月前
|
消息中间件 前端开发 Java
【面试题】前端必修-浏览器的渲染原理
【面试题】前端必修-浏览器的渲染原理
|
3月前
|
安全 前端开发 Java
什么是 CSRF 攻击?
什么是 CSRF 攻击?

热门文章

最新文章