CSRF - 跨站请求伪造

article/2025/9/23 3:49:38

什么是CSRF?

CSRF(Cross-site request forgery)跨站请求伪造:也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

实说白了, csrf漏洞的成因就是网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要是访问这个都网站,会默认你已经登录的状态。而在这个期间,攻击者发送了构造好的csrf脚本或包含csrf脚本的链接,可能会执行一些用户不想做的功能(比如是添加账号等)   js(可以发送数据包) ajax

CSRF和SSRF的区别

CSRF为跨站请求伪造,SSRF为服务器请求伪造,CSRF的核心是让客户端的浏览器去访问,SSRF核心是让服务器去访问。

CSRF与XSS的区别

csrf伪造请求,xss为跨站脚本攻击,一个为伪造cookie等验证信息,一个则是使用一个脚本攻击。

XSS 核心是操作目标网站的HTML代码 窃取Cookie

CSRF 核心是在非目标网站的HTML代码做手脚 让受害者浏览器偷偷的去访问目标网站。

为什么CSRF会利用的cookie信息可以不过过期?

因为Cookie具有时效性,但时效性不一定,常见的是一次会话,什么是一次会话?就是浏览器关闭开启一次。

Cookie是什么?

Cookie就是个验证信息,用于对登陆的用户进行一个验证,看看是什么身份。

Cookie在CSRF中的作用?

CSRF中,就是利用这个cookie,来盗用其他用户的身份来进行操作,就相当于有个人拿了你的身份证去上网,cookie就相当于这个身份证

CSRF怎么和XSS打组合拳

首先使用XSS直接执行CSRF的JS恶意语句

csrf可以用于钓鱼吗

可以,可以和xss一起用,用一个反射型的xss,盗取cookie后,构造csrf脚本或脚本去攻击

CSRF的成因

Cookie不过期,没有进行进一步的验证用户信息,没有安全意识访问了恶意站点

csrf的操作流程

用户A登陆B站,在登陆网站B时,收到了攻击者C发送的盗取cookie进行操作的链接到C,得到cookie后csrf进行操作

csrf能有什么操作

转账,修改密码,越权等N种操作

一定要登陆A时同时访问C吗

不一定,cookie都有时效性,一次性的cookie必须这样,不是一次性的则会存在硬盘中

CSRF可以直接盗取在本地的cookie吗

不可以,但这是xss的操作,csrf只是利用cookie

CSRF的载体

一个包含恶意链接或脚本

csrf poc是什么

一个带验证的数据表单的脚本或链接,内有要操作的数据

csrf操作过程

生成一个脚本或链接,当你操作时触发,就获得你在目标网站上的cookie把数据提交到目标地址,当你访问或者操作时,浏览器偷偷执行了攻击者的操作

csrf是什么

csrf为跨站请求伪造,伪造利用其它用户来完成请求操作,简单来说就是让别人来进行我想要的操作

token防御csrf原理

Token就是一段字母数字的随机值,访问时服务端会生成一个随机的token值并传回到前端的表单里,当我们提交表单时,token会作为一个参数提交到服务端进行验证 [终极方案]

referer防御csrf原理

Refer记录了该http请求的来源地址,访问一个安全受限页面请求必须来自同一个网站,如果不是则请求不合法无法生效  [可绕过]

如何绕过token

Token的生成一定要随机,有些Token根本就不验证或者时间戳做Token

如果存在xss漏洞,token防御将无效

csrf如何绕过referer

当浏览器的检测不严,比如referer值为空时,可以绕过

Referer可以伪装绕过

来来来,进靶场

我的网站icon-default.png?t=M1L8http://59.63.166.75:8010/newcsrf/

去搭建自己的织梦网站吧

结果按照别人形同的文件路径进去是一片空白,查找资料看见

 

出现莫名的错误,如安装时显示空白,这样能是由于系统没装载mysql扩展导致的,对于初级用户,可以下载dede的php套件包,以方便简单的使用。

1)php文件被使用记事本编辑或其他情况造成文件中存在BOM头导致代码运行错误,这种情况可以在网上下载php一键清除BOM工具进行清除。

2)DEDECMS多数代码采用PHP4的语句,在较新的PHP主机环境中不支持。需要对代码进行适当调整。

如includeuserlogin.class.php文件中的 session_register函数PHP5.4以后就不在支持,注释掉相关代码即可。

3)DEDE系统某处出现错误,但是由于DEDE默认是屏蔽了代码错误提示,造成无法看到错误提示。

解决方法找到includecommon.inc.php文件,打开,查找程序代码:error_reporting(E_ALL);error_reporting(E_ALL  ~E_NOTICE);替换为error_reporting(E_ALL);error_reporting(E_ALL  ~E_NOTICE);

然后即可根据错误提示来解决问题。

4)进入datasessions 目录删除缓存数据,然后在测试。如果是在服务器端一般是文件权限的问题,只需设置文件的user权限即可。

搞了好一会儿,总算进来了

 

 

 

 

 发现木马文件可以生效,再开burp抓包,制作为CSRF

将http://192.168.102.170/uploads/dede/file_manage_control.php

改为http://192.168.102.170/newcsrf/dede/file_manage_control.php

看两个地址是否同源,可以登录查看,若不会报错就是同源

然后在投诉模块上传CSRF攻击文件

 

 

 

连接蚁剑,得到flag.php文件,得到flag

 

 


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

相关文章

CSRF(跨站请求伪造)

目录 CSRF 原理及过程 概述 关键点 pikachu靶场之CSRF GET型 POST型 Token 防御 如何挖掘CSRF漏洞 使用burp验证csrf 总结 CSRF (Cross-Site Request Forgery) CSRF是一种欺骗受害者提交恶意请求的攻击,攻击者盗用你的身份,向服务器发送请求…

Spring Boot项目CSRF (跨站请求伪造)攻击演示与防御

CSRF ,Cross-site request forgery,跨站请求伪造。是常见的网络攻击的方式之一,2007年曾被列为互联网20大安全隐患之一。攻击过程是攻击者伪造用户的浏览器请求,访问一个用户曾经访问过的网站, 使目标网站误以为是用户的操作而执行命令。 本篇j基于Spring Boot创建项目,…

每日漏洞 | 跨站请求伪造

01 漏洞描述 HTTP的无状态性,导致Web应用程序必须使用会话机制来识别用户。一旦与Web站点建立连接(访问、登录),用户通常会分配到一个Cookie,随后的请求,都会带上这个Cookie,这样Web站点就很容易分辨请求来自哪个用户&…

CSRF跨站请求伪造

CSRF介绍: CSRF中文名称:跨站请求伪造,是一种“ 挟持用户”在当前已登陆的Web应用程序上执行“ 非本意操作”的攻击方法。 一、CSRF回放攻击流程 套用老师所给的一张攻击原理图 从这张流程图里我们总结一下CSRF攻击生效所需要的两个必要条件 …

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

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

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

一文带你学习跨站点请求伪造(CSRF) 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(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS)&…

跨站请求伪造(csrf)

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

跨站请求伪造

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 模板中使用定义的数…