web前端安全性——CSRF跨站请求伪造

news2024/9/22 22:33:03

承接上篇讲述的XSS跨站脚本攻击

跨站请求伪造(CSRF)

1、概念

CSRF(Cross-site request forgery) 跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。跨站请求伪造,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。

2、与XSS区别

跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。CSRF漏洞的本质是浏览器在不应该发送cookie的地方发送cookie。
cookie相关知识:cookie的属性:key、value、expires、domain、path、secure、httponly(只能后端修改)、samesite(禁止第三方获得cookie);只要有请求就会携带cookie;cookie无法验证是从哪个网站过来的;cookie遵守的是同站策略不是同源策略

3、CSRF流程

(1)目标用户已经登录了网站,能够执行网站的功能
(2)目标用户访问了攻击者构造的URL

4、CSRF的常见攻击

(1)GET类型的CSRF

<img src="攻击方让受害者做的网站请求”>

(2)POST类型的CSRF
hidden隐藏域

<form action="攻击方让受害者做的网站请求”method=POST>
  <input type="hidden”name="account” value="xiaoming”/>
  <input type="hidden” name="amount”value="10000”/>
  <input type="hidden”name="for" value="hacker" />
</form>
<script> document.forms[0].submit();</script>

(3)链接类型的CSRF

<a href="攻击方让受害者做的网站请求”taget="_blank">
信息
<a/>

5、CSRF的危害

(1)攻击一般发起在第三方网站,而不是被攻击的网站。被攻击的网站无法防止攻击发生。攻击利用受害者在被攻击网站的登录凭证,冒充受害者提交操作;而不是直接窃取数据。整个过程攻击者并不能获取到受害者的登录凭证,仅仅是“冒用”;
(2)跨站请求可以用各种方式:图片URL、超链接、CORS(跨域资源共享)、Form提交等等。部分请求方式可以直接嵌入在第三方论坛、文章中,难以进行追踪;
(3)发送恶意请求消息;
(4)配合蠕虫扩散;
(5)盗取信息

6、CSRF的防范

(1)用户跳转第三方网页的提示(提醒用户,主要增加用户防范)
如:CSDN在文章中的一些链接跳转时会提示用户
在这里插入图片描述
(2)阻止不明外域的访问
前端采用方法:用Token代替Cookie;双重Cookie;samesite
注意:通过前后台一起实现CSRF渗透攻击防范

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1463998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Git】:标签功能

标签功能 一.标签操作二.推送远程标签 标签 tag &#xff0c;可以简单的理解为是对某次commit的⼀个标识&#xff0c;相当于起了⼀个别名。例如&#xff0c;在项⽬发布某个版本的时候&#xff0c;针对最后⼀次commit起⼀个v1.0这样的标签来标识⾥程碑的意义。这有什么⽤呢&…

代码随想录算法训练营第21天—回溯算法01 | ● 理论基础 ● *77. 组合

理论基础 回溯是一种纯暴力搜索的方法&#xff0c;它和递归相辅相成&#xff0c;通常是执行完递归之后紧接着执行回溯相较于以往使用的for循环暴力搜索&#xff0c;回溯能解决更为复杂的问题&#xff0c;如以下的应用场景应用场景 组合问题 如一个集合{1,2,3,4}&#xff0c;找…

【讨论】Web端测试和App端测试的不同,如何说得更有新意?

Web 端测试和 App 端测试是针对不同平台的上的应用进行测试&#xff0c;Web应用和App端的应用实现方式不同&#xff0c;测试时的侧重点也不一样。 Web端应用和App端应用的区别&#xff1a; 平台兼容性 安装方式 功能和性能 用户体验 更新和维护 测试侧重点有何不同 平台…

springboot208基于springboot物流管理系统

基于spring boot物流管理系统设计与实现 摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。…

想高薪就业鸿蒙HarmonyOS 开发岗位,到底该学习些啥?

鸿蒙是什么&#xff1f; 经过十多年的发展&#xff0c;传统移动互联网的增长红利已渐见顶。万物互联时代正在开启&#xff0c;应用的设备底座将从几十亿手机扩展到数百亿 IoT 设备。GSMA 预测到 2025 年&#xff0c;全球物联网终端连接数量将达 246 亿个&#xff0c;其中消费物…

redis源码阶段性完成

这个真的是耗费我很长的时间 一个是太忙了&#xff0c;一个是内容确实太多了 断断续续的&#xff0c;终于基本完成了&#xff0c;但也只限于基本哈 在这期间也阅读了相关书籍 其实书籍讲的都很好&#xff0c;讲了大体思路 但是&#xff0c;到具体实现细节就复杂的多了 因…

【2024 R1 版本更新】Ansys Speos

上期我们讲到了Ansys系列的三大光学软件于2024年的更新&#xff0c;在小宇快马加鞭的信息收集下&#xff0c;更加具体的内容也整理完毕了&#xff0c;一起来看看Ansys Speos又有哪些具体的功能更新吧~

智能搬运机器人|海格里斯将如何持续推进工业和物流的智能化升级与发展?

存取、搬运、分拣是物流行业中的通用功能&#xff0c;但具体到每个行业又十分不同&#xff0c;例如&#xff1a;新能源电池领域&#xff0c;它所搬运的东西是电池&#xff0c;50KG~200KG&#xff1b;快递行业领域&#xff0c;所要处理的物料是那种扁平件和信封等等&#xff0c;…

【计算机网络】网络基础知识

一. 网络发展史 独立模式&#xff08;单机模式&#xff09;&#xff1a;计算机之间相互独立&#xff0c;各自拥有独立的数据。 网络互连&#xff1a;将多台计算机连接在一起&#xff0c;完成数据共享。 随着时代的发展&#xff0c;越来越需要计算机之间进行互相通信&#…

人工智能_CPU安装运行ChatGLM大模型_ChatGlm-6B_启动命令行对话_安装API调用接口_005---人工智能工作笔记0100

然后我们再进入 /data/module/ChatGLM-6B-main文件夹 然后我们去启动,命令行工具 python3 cli_demo.py 可以看到也是可以用了. 正常可以用了. 然后主要来看,如何使用api来调用呢,这样才可以,做自己的界面 可以看到就非常简单了只需要: 走到 /data/module/

高盛:日本这轮通胀是否可持续,关键看房租

租金在日本CPI中的权重高达20%&#xff0c;高盛预计短期内租金将继续拖累通胀至1.7%或以下&#xff0c;长期有望温和上行&#xff0c;使通胀稳在2%的水平。 日本正在转向“去通缩”&#xff0c;房租能否支撑通胀态势&#xff1f; 在日股今年一路高歌、有望“收复失地”时&…

如何在OpenWRT安装内网穿透工具实现远程访问本地搭建的web网站界面

文章目录 前言1. 检查uhttpd安装2. 部署web站点3. 安装cpolar内网穿透4. 配置远程访问地址5. 配置固定远程地址 前言 uhttpd 是 OpenWrt/LuCI 开发者从零开始编写的 Web 服务器&#xff0c;目的是成为优秀稳定的、适合嵌入式设备的轻量级任务的 HTTP 服务器&#xff0c;并且和…

JAVA高并发——单例模式和不变模式

文章目录 1、探讨单例模式2、不变模式 由于并行程序设计比串行程序设计复杂得多&#xff0c;因此我强烈建议大家了解一些常见的设计方法。就好像练习武术&#xff0c;一招一式都是要经过学习的。如果自己胡乱打&#xff0c;效果不见得好。前人会总结一些武术套路&#xff0c;对…

嵌入式学习-qt-Day2

嵌入式学习-qt-Day2 一、思维导图 二、作业 1.使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 2.将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账…

关于windows上Python3.12.0安装FastAPI入坑指南

#工作笔记# 先说下起因: 年前兄弟说有个webapi的需求看怎么解决,抽空想到Python比较容易上手,而且FastAPI性能号称拥有可与NodeJS和Go并肩的极高性能。 FastAPI官网注明使用 Python 3.8+ ,而我本机又有从Py3.6到Py3.12的每个大版本,见下图 接着入坑开始了。。。 #问题描述…

webpack的使用(上)

前言&#xff1a;在项目中安装和配置webpack、配置打包的入口与出口、配置webpack的自动打包功能、配置 html-webpack-plugin 生成预览页面、配置自动打包相关的参数等相关内容 一、了解webpack 1、概念 webpack 是一个流行的前端项目构建工具(打包工具)&#xff0c;可以解决…

SpringCloud(15)之SpringCloud Gateway

一、Spring Cloud Gateway介绍 Spring Cloud Gateway 是Spring Cloud团队的一个全新项目&#xff0c;基于Spring 5.0、SpringBoot2.0、 Project Reactor 等技术开发的网关。旨在为微服务架构提供一种简单有效统一的API路由管理方式。 Spring Cloud Gateway 作为SpringCloud生态…

运维SRE-18 自动化批量管理-ansible4

12.2handles handles触发器(条件)&#xff0c;满足条件后再做什么事情应用场景&#xff1a;想表示&#xff1a;配置文件变化&#xff0c;再重启服务 配置handlers之前&#xff0c;每次运行剧本都会重启nfs&#xff0c;无论配置文件是否变化。 [rootm01 /server/ans/playbook]…

前端项目如何准确预估个人工时

补充 看来很多小伙伴对这个问题感兴趣&#xff0c;大家不要忽视了压工时这个事。 领导为什么会压工时&#xff1f; 使他的KPI更好看不清楚做这个东西实际要多长时间因为第2点的原因&#xff0c;他也无法去争取合理时间部分人看着下属加班&#xff0c;有种大权在握&#xff0…

题目 1226: 方砖问题

题目描述: 用边长小于N的正方形方砖&#xff08;注意&#xff0c;不要求所有的方砖大小相同&#xff0c;请看样例说明&#xff09;不重叠地铺满N*N的正方形房间&#xff0c;最少要几块方砖。 解题思路: 1.n是偶数时&#xff0c;都可以用4块边长为n/2的方砖填满&#xff1b;例…