跨站请求伪造(csrf)

article/2025/9/23 5:18:51

1csrf介绍

CSRF (Cross-site request forgery,跨站请求伪造)也被称为One Click Attack或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装成受信任用户请求受信任的网站。

2csrf原理

在上图中,A网站通过cookie来识别用户C,当用成功进行身份验证之后浏览器就会得到一个标识其身份的cookie,只要不关闭或者退出其登录,访问A网站都会带上这个cookie。如果在这个时候,用户C访问了被黑客控制的网站B,网站B又发出要求访问网站A的请求,然后就会由用户C端根据网站B发起的请求,带着A网站的cookie访问网站A,但这并不是用户C的本意,那么这就是所谓的请求伪造了,跨站是因为这是由B端发起的。而且这是受害者用户C完全不知情的请求,从而在未授权的情况下完成权限保护下的操作。

3、判断是否存在csrf

(1)最简单的方法就是抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在CSRF漏洞。

(2)如果有Referer字段,但是去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

4csrf漏洞挖掘

1)使用pikachu靶场,到csrf模块,使用账户:Vince,密码:123456登录,点击逻辑个人资料

2)如图所示,点击submit并使用burp抓包,在burp中【将抓到的包发送到repeater模块在点击send(一些情况不执行这一步,csrf会失败)】

3)在发送到csrf  poc模块

4)在csrf poc模块下,在下图红色方框中修改自己想要修改的数据(这里修改了sex,phone,add)左边是原始数据,作为参考,点击test in browser-copy:

5)返回burp的拦截页面,先点击drop,在关闭拦截:

6)返回之前的浏览器,新打开一个页面,访问步骤5复制的URL,点击sumit request(成功修改,在一般测试过程中,显示success等)

7)回到步骤1的页面,刷新页面,数据成功被修改:

5、防范措施

(1)验证HTTP Referer字段

(2)在请求地址中添加token并验证


http://chatgpt.dhexx.cn/article/EA0Rr7p7.shtml

相关文章

跨站请求伪造

1. 什么是跨站请求伪造(CSRF) CSRF(Cross-site request forgery跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本&…

压缩包破解

压缩包破解 文章目录 压缩包破解伪加密压缩包格式压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志真加密字节对比伪加密字节对比伪加密 工具 ZipCenOp.jarjoin 破解fcrackzip 或者 ziperello 暴力破解伪加密 压缩包格式 一个 ZIP 文件由三个部分组成: 压缩源文

android apk解包和打包

最近项目开发,我的jar包和资源文件给别的同事打包,这样我自己测试很麻烦,每次改一点东西都要找人打包测试,很麻烦,就想着能够解包,更新一下自己的部分代码,再打包apk直接测试。后来找了一些网上…

python基础语法之拆包(解包)

理解和使用python中的拆包会让我们的代码变得流畅,不仅对自己的手关节有好处,也使看官觉得很赏心悦目,既然拆包这么香那就抓紧用起来吧。 1、直接交换变量的本质 在C,C和Java语言中如果想交换两个变量的值就必须用到第三个临时变…

Python中的解包

一、解包,英文名字叫UNPACKING,就是讲容器中所有的元素逐个取出来。 python中解包是自动完成的,例如: a,b,c [1,2,3] print(a,b,c) 1 2 3 除列表对象可以解包外PYTHON中的任何可迭代对象都可以进行解包,元组,字典&…

【Python小知识】:什么是序列解包

前言: 💂作者简介:大家好,我是翼同学! 📃个人主页:翼同学的CSDN博客 🔥系列专栏:【python学习笔记】 👏备注:如果文章有误,请指正&…

python 抓包与解包

我使用的环境为:Windows10、python3.6、scapy 2.4.0 一、基本知识 Sniff方法定义:sniff(filter"",iface"any", prnfunction, countN)filter的规则使用 Berkeley Packet Filter (BPF)语法 iface用来指定要在哪个网络接口上进行抓包&…

.pkg文件解包

PePKG下载 1、拖入 RePKG.exe文件到cmd中 2、输入 extract,并将需要解包的 .pkg文件拖入cmd中 3、输入 -o 4、选择输出路径 创建一个文件拖入cmd中 回车即可完成解包

文件打包解包的方法

文件打包 前言 在很多情况下,软件需要隐藏一些图片,防止用户对其更改,替换。例如腾讯QQ里面的资源图片,哪怕你用Everything去搜索也搜索不到,那是因为腾讯QQ对这些资源图片进行了打包,当软件运行的时候解…

python中拆包解包用法详解

python可以对元组和字典进行拆包或解包操作。 1、拆包:元组 示例代码1: def return_num():return 100, 200num1, num2 return_num() print(num1) # 100 print(num2) # 200运行结果: 示例代码2: def return_num1():return 1…

android-apk解包打包

title: android-apk解包打包 categories: Android tags: [android, 加壳] date: 2022-09-28 10:29:51 comments: false mathjax: true toc: true android-apk解包打包, 以下所有操作都需要在配置好 java 环境下进行 前篇 android apk解包和打包 - https://blog.csdn.net/u0114…

Vue 3 之什么是 解包

Vue 3 之什么是 解包 前言结合代码分析总结 前言 从 Vue2 升到 Vue3 之后,用法上有了很大很大的变化 Vue3可以通过 ref 来声明一些响应式数据,可以是 any 类型的响应式数据 ,在 script 标签中访问和修改这个属性需要用 变量名.value Vue3 3.1 在 template 模板中使用定义的数…

python的解包

解包在英文里叫做 Unpacking,就是将容器里面的元素逐个取出来(防杠精:此处描述并不严谨,因为容器中的元素并没有发生改变)放在其它地方,好比你老婆去菜市场买了一袋苹果回来分别发给家里的每个成员&#xf…

apk解包+修改源码+重新打包 修改Android端app教程 修改apk文件教程

修改之前一定要先安装java开发环境,不会装的去自行百度。文章较长,耐心阅读。 一直在做Android应用开发,但对于从自己手中输出的apk包,了解并不是很深。最近想研究一下,消除下自己的一些技术盲点。 好吧,…

Python中的解包用法

Python中的解包用法 解包(unpacking:解包,拆包),基本意思将容器里面的元素逐个取出来使用。封包(packing:封包,打包)基本意思将多个元素合起来作为一个整体使用。 可迭代…

SIP协议说明以及报文字段解析

SIP协议的概念: SIP 协议,即 会话初始协议(Session Initiation Protocol),是一个应用层的 点对点协议,用于初始、管理和终止网络中的语音和视频会话,是 GB28181 的核心之一。 SIP是一个基于文本…

SIP 协议格式简介

消息体结构,由三部分组成: Request-Line / Status-Line (请求行 / 状态行)Header (消息头)Body (正文) 示例: Request-Line / Status-Line 介绍 Request-Line 格式: MethodRequest-URISIP-VersionCRLFINVITEsip:10011.1.1.1:5060…

会话初始协议---SIP协议【详解】

目录 ​ 一、SIP协议简介 二、SIP消息的两种会话模式 1、Session Model 2、Pager Model 三、SIP消息体格式 1、请求行(request-line) 2、状态行(status-line) 3、消息头 四、SIP消息举例 1、MESSAGE消息(Pager Model) 2、REGISTER消息 &…

SIP协议-02 原理讲解

文章目录 1 SIP实现机制2 SIP网络元素2.1 用户代理2.2 代理服务器2.3 重定向服务器2.4 位置服务器2.5 注册服务器 3 SIP中的几个重要概念3.1 Messages(消息)3.2 Dialog(对话)3.3 Transaction(事务)3.4 Session(会话) 4 工作流程4.1 登记注册4.2 建立呼叫4.3 重定向呼叫 5 SIP超…

SIP协议(二)

语音编码,语音帧,会议室 (1)语音编码,语音帧 (2)补充会议室的抓包 语音编码 现主要有的语音编码有: G.711, G.723, G.726 , G.729, ILBC,QCELP, EVRC, AMR, SMV 各种编解码都有其…