CSRF跨站请求伪造(一)

★★免责声明★★
文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

1、CSRF简介

CSRF,全称:Cross-Site Request Forgery,跨站请求伪造,也被称为One Click Attack或Session Riding,是一种网络安全漏洞,攻击者通过引诱用户在已登录的Web应用程序中执行非自愿操作,以利用用户在应用程序中的身份和权限来执行未经授权的操作。

在这里插入图片描述

图片来源网络

2、CSRF攻击原理

CSRF攻击就是利用网站地用户网页浏览的信任,挟持用户当前已登录的Web应用程序,去执行用户非本意的操作。在cookie有效期间,通过构造或包含CSRF脚本链接发送给用户,得到信息后再伪造成用户身份,执行相关操作。cookie在浏览器一段时间内不会过期,不关闭浏览或退出登录情况,再次访问默认是登录状态。

一个CSRF漏洞攻击的实现,需要由“三个部分”来构成
1、漏洞风险存在;
2、伪装数据操作请求的恶意链接或者页面;
3、诱使用户主动访问或登录恶意链接,触发非法操作。

2.1、存在漏洞风险

目标网站可系统存在可新增或修改的操作,操作过程中没有作任何身份识别或校验,就把数据新增或修改。出现比较多的场景有:修改用户密码、添加用户、修改收货地址、新增或修改后台管理账户等,其它一些对话框钓鱼页面,CSRF一般与XSS结合使用,这时被称为XSRF攻击。

2.2、伪装请求

要CSRF漏洞被触发,成功新增或修改当前用户的数据信息,需要对【新增或修改】数据操作请求进行伪装,然后恶意攻击者把伪装好的请求发送给被攻击者,或通过社工的方式诱导被攻击者在cookie有效期间点击请求链接。

2.3、用户非本意操作

当前用户在不知情的情况下,访问了黑客恶意构造的页面或链接,实现了对当前用户个人信息的恶意操作。

在这里插入图片描述

图片来源网络

3、CSRF常见类型

常见的CSRF攻击主要有两种类型,GET类型和POST类型。GET类型,一般是通过url,在url里面拼接上参数,CSRF中最常见,危害最大,也是最简单的一种类型;POST类型一般都是表单提交,可以在body里面携带数据。

4、CSRF进阶

4.1、JSONP劫持

只支持GET请求,不支持POST等其他HTTP方法,通过动态创建script标签实现。挖掘方法:校验referer,如果抓取一个正常请求的数据包,如果没有Referer字段和token,极有可能存在CSRF漏洞;如果有Referer字段,去掉Referer字段后再重新提交还有效,那么基本上可以确定存在CSRF漏洞。

4.2、CORS劫持

CORS跨域资源共享——Cross-origin resource sharing,是H5提供的一种机制,可以限制指定域外的资源访问。如果配置不当则可能遭受跨域的攻击,并且该机制并不能用来抵御CSRF攻击。相关响应头:Access-Control-Allow-Origin,表示服务端允许的请求源,*标识任何外域,多个源 , 分隔;Access-Control-Allow-Credentials,表示是否允许发送Cookie,ajax请求设置,withCredentials = true,浏览器的cookie就能发送到服务端。

挖掘技巧:查看ACAO响应头是否为具体的值以及ACAC响应头是否为true,如果ACAO 为*或者null,说明服务器配置错误,存在CORS劫持漏洞,它返回的头里面必须要有Access-Control-Allow-Credentials这个头,并且设置的值为true才有意义。

Access-Control-Allow-Origin: http://www.xxxx.com
Access-Control-Allow-Credentials: true

5、CSRF防御

1、尽量使用POST,限制GET,GET接口太容易被拿来做CSRF攻击;
2、加验证码(二次确认),验证码,强制用户必须与应用进行交互,才能完成最终请求。
3、Referer Check(请求来源检查),检查HTTP请求头部的Referer字段,该字段标明请求来源URL。
4、Anti CSRF Token,加密。

6、下期内容预告

下期内容分享pikachu靶场实验,敬请关注我的公众号:大象只为你,持续更新中…

靶场环境搭建详参考《靶场环境搭建【XP、pikachu、dvwa、sqli-labs】》

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS Stage模型 用程序运行切换 验证UIAbility 启动模式(下) 验证:specified启动模式 Ability间切换

上文 HarmonyOS Stage模型 用程序运行切换 验证UIAbility 启动模式(上) 验证:singleton、multiton、standard启动模式 我们已经验证完了 singleton multiton standard 三种启动模式 留下了毕竟复杂的 specified 这里 首先 我们要写两个不同的界面 index 编写代码如下 import…

2024最新算法:鳑鲏鱼优化算法(Bitterling Fish Optimization,BFO)求解23个基准函数(提供MATLAB代码)

一、鳑鲏鱼优化算法 鳑鲏鱼优化算法(Bitterling Fish Optimization,BFO)由Lida Zareian 等人于2024年提出。鳑鲏鱼在交配中,雄性和雌性物种相互接近,然后将精子和卵子释放到水中,但这种方法有一个很大的缺…

Linux系统源代码数据防泄密加密软件

数据防泄密系统 是一套从源头上保障数据安全和使用安全的软件系统。包含了文件透明加解密、内部文件流转功能、密级管控、离线管理、文件外发管理、灵活的审批流程、工作模式切换、服务器白名单等功能。从根本上严防信息外泄,保障信息安全。 www.weaem.com 功能介绍…

手写模拟器,解放双手!效果炸裂的生产工具

手写模拟器是一款基于Handright的仿手写图片生成软件,可以让你的电脑和手机也能写出漂亮的手写字,你只需要输入你想要写的内容,选择你喜欢的字体和背景,就可以生成一张高仿真的手写图片,用于各种场合,比如做…

CloudCompare使用-点云手动分割操作

点云手动分割操作 一、概述二、分割步骤1. 点击分割按钮2. 分割标题栏 一、概述 我们有时候需要对点云进行局部分割,就想对下面这个四棱锥和立方体的组合体给分离出来。 分离的效果如下: 二、分割步骤 1. 点击分割按钮 有两个入口 1. 菜单栏 2. 快…

如何根据玩家数量和游戏需求选择最合适的服务器配置?

根据玩家数量和游戏需求选择最合适的服务器配置,首先需要考虑游戏的类型、玩家数量、预计的在线时间以及对内存和CPU性能的需求综合考虑。对于大型多人在线游戏,如MMORPG或MOBA等,由于需要更多的CPU核心数来支持更复杂的游戏逻辑和处理大量数…

k8s-001-Centos7内核升级

1. 查看内核 [rootlocalhost ~]# uname -a 2. 执行的命令(安装最新版内核): 下载: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安装: rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm ( 查看最新版内核&…

深度学习的onnx模型插入新节点构建新模型

import numpy as np import onnx import onnxruntime import onnxruntime.backend as backendmodel onnx.load(test.onnx) node model.graph.node graph model.graph# 1.2搜索目标节点 # for i in range(len(node)): # if node[i].op_type Conv: # node_rise …

Java中的图数据库应用:Neo4j入门

第1章:引言 在数据驱动的时代,咱们处理的不仅仅是数字和文本,还有复杂的关系和网络。想象一下社交网络中人与人之间错综复杂的联系,或者是互联网上网页之间的链接关系,传统的表格数据库已经难以高效地处理这些关系密集…

Linux-基础命令(黑马学习笔记)

Linux的目录结构 Linux的目录结构 Linux的目录结构是一个树形结构 Windows系统可以拥有多个盘符,如C盘、D盘、E盘 Linux没有盘符这个概念,只有一个根目录 /,所有文件都在它下面 Linux路径的描述方式 ● 在Linux系统中,路径之…

抖音视频批量下载软件|视频评论采集工具

抖音视频评论采集软件是一款基于C#开发的高效、便捷的工具,旨在为用户提供全面的数据采集和分析服务。用户可以通过关键词搜索抓取视频数据,也可以通过分享链接进行单个视频的抓取和下载,从而轻松获取抖音视频评论数据。 批量视频提取模块&a…

Java中使用poi+poi-tl实现根据模板导出word文档

场景 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出: 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出_若依导出前端获得到后端的execl流之后怎么操作-CSDN博客 上面讲的是Excel的导出,如果是需要根据w…

基于SpringBoot多模块项目引入其他模块时@Autowired无法注入

基于SpringBoot多模块项目引入其他模块时Autowired无法注入 一、问题描述1、解决方案 一、问题描述 启动Spring Boot项目时报 Could not autowire. No beans of ‘xxxxxxxx’ type found. 没有找到bean的实例,即spring没有实例化对象,也就无法根据配置文…

python-基础篇-运算-常见案例

文章目录 出租车车费计价牛顿第二定律虚过多少秒将港珠澳大桥的全长转换成中国古代的丈、尺表示出来 出租车车费计价 import math distance int(input("请输入运行里程数:")) print("本次运行公里数为:\033[31;0m", distance, &qu…

13. Springboot集成Protobuf

目录 1、前言 2、Protobuf简介 2.1、核心思想 2.2、Protobuf是如何工作的? 2.3、如何使用 Protoc 生成代码? 3、Springboot集成 3.1、引入依赖 3.2、定义Proto文件 3.3、Protobuf生成Java代码 3.4、配置Protobuf的序列化和反序列化 3.5、定义…

聊聊 HTTP 性能优化

作为用户的我们在 "上网冲浪" 的时候总是希望快一点,尤其是抢演唱会门票的时候,但是现实并非如此,有时候我们会遇到页面加载缓慢、响应延迟的情况。 而 HTTP 协议作为互联网世界的基础,从网站打开速度到移动应用的响应…

已经淘汰的电脑只能换不锈钢盆了吗?不!你可以换个流畅的系统试试

前言 昨天已经给小伙伴们讲解了,在硬件看起来还不错的情况下,如何自查自行升级电脑硬件,以达到流畅使用Windows10系统的标准。 硬件自查自纠!十年前的电脑可能还可以再战十年 如果可以,谁都不想把Windows系统更换成…

STM32F4 HAL库串口死锁问题调试记录

文章目录 STM32F4 HAL库串口死锁问题调试记录调试方法结果分析解决方法一:方法二: STM32F4 HAL库串口死锁问题调试记录 使用方法:通过串口DMA固定周期向外发送数据,同时开启串口DMA接收用于接收其它板卡发来的数据。 问题&#x…

蜘蛛蜂优化算法SWO求解不闭合SD-MTSP,可以修改旅行商个数及起点(提供MATLAB代码)

1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。VRPTW&#x…

鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?

“2024年是原生鸿蒙的关键一年,我们要加快推进各类鸿蒙原生应用的开发,集中打赢技术底座和三方生态两大最艰巨的战斗。”这是余承东在新年信中表达的决心。 随后在1月18日举行的鸿蒙生态千帆启航仪式上,华为宣布 HarmonyOS NEXT 鸿蒙星河版系…