Pikachu上的CSRF以及NSSCTF上的[NISACTF 2022]bingdundun~、 [SWPUCTF 2022 新生赛]xff

news2024/10/5 18:31:23

目录

一、CSRF

CSRF(get) login

 CSRF(post)

CSRF Token 

二、CSRF的相关知识点 

(1)什么是CSRF?

(2)工作原理

(3)CSRF漏洞形成的条件

1、用户要在登录状态(即浏览器保存了该用户的cookie)

2、用户要访问攻击者发的恶意url链接才行

(4)与XSS的区别

(5)CSRF的防御

三、NSSCTF上的题

在解这个题之前,需要先了解以下Phar伪协议

相关例题([NISACTF 2022]bingdundun~): 

 [SWPUCTF 2022 新生赛]xff


一、CSRF

CSRF(get) login

1.使用以受害者身份登录账号,登录账号在提示里面

2.我这里选择了vince的身份登录,发现可以修改个人信息

 3. 以受害者身份点击修改个人信息的按钮,然后修改地址为china上交进行测试,发现修改成功,url也没有什么回显的信息

4. 对提交修改信息时候进行抓包,以黑客身份使用burp进行抓包,发现看到上面就是提交的get请求数据,从上面的url可见,修改用户信息的时候,是不带任何不可预测的认证信息的。那么,这里应该是可以被利用的。

5.把修改的get链接复制下来,http://ipakchu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18626545453&add=shanxi&email=vince%40pikachu.com&submit=submit,然后将包释放掉,发现仍然修改成功

6.以黑客身份生成一个恶意网页给用户来点击,达到修改信息的目的

方法一:抓包,浏览器访问该poc

!注意:这里必须让受害者使用同一个浏览器,并且登录状态还在生效才有用

方法二:直接手写网页代码 

以受害者身份点击了恶意网站的链接,很明显的发现已经修改了信息,这里修改了地址为shanxi,第一关解决

 CSRF(post)

1.第一步仍然为登录账号

2.点击提交修改信息的按钮,进行抓包,发现这一关是post提交了,无法学上一关那样直接使用URL来改参数。但抓包可知,这个表单的数据数量以及对应的字段名name,这就可以构造一个恶意表单网页来给用户点击。在抓包中的CSRF中可以改你想要修改的信息,然后进行复制

 

3.利用复制的html代码搭建一个恶意网站,让受害者去点击

点击之后,攻击完成,修改信息也完成,这里修改了性别和住址,第二关结束

CSRF Token 

1.像上面两关一样,进行抓包,发现token

2.将包发送到Intruder,设置攻击方式以及变量,这里设置了token和住址为变量

3.像暴力破解的token那样设置,最后就行爆破,这里修改的是地址

 

观察到地址被修改,达到修改信息的目的 

资料参考:pikache靶场通关——CSRF攻击_pikachu靶场-csrf-CSDN博客

二、CSRF的相关知识点 

(1)什么是CSRF?

CSRF,跨站域请求伪造,通常攻击者会伪造一个场景(例如一条链接),来诱使用户点击,用户一旦点击,黑客的攻击目的也就达到了,他可以盗用你的身份,以你的名义发送恶意请求。CSRF攻击的关键就是利用受害者的cookie向服务器发送伪造请求。

CSRF利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密码等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。

(2)工作原理

(3)CSRF漏洞形成的条件

通过上面的讲解我们知道CSRF形成的必要条件是

1、用户要在登录状态(即浏览器保存了该用户的cookie)
2、用户要访问攻击者发的恶意url链接才行

(4)与XSS的区别

CSRF(Cross-site request forgery)和XSS(Cross-site scripting)都是Web应用程序中常见的安全漏洞,但它们攻击方式、作用目标和防御手段不同。

攻击方式:XSS主要是通过在受害者浏览器上运行的恶意脚本来实现攻击,而CSRF通常利用验证机制的缺陷,使得攻击者通过操纵受害者的账户来执行非法操作。

作用目标:XSS主要影响用户端浏览器,导致被攻击网站或应用程序上存在的漏洞,可以被恶意脚本攻击并获取用户数据。而CSRF则主要影响服务端,攻击者可以伪造请求和数据来欺骗服务器程序执行不安全或有害的操作(如购买产品、更改密码等)。

防御手段:XSS漏洞可以采用输入过滤、转义输出等手段进行防御;而避免CSRF漏洞则需要采用Token、Referer、SameSite Cookie属性等措施。

综上所述,虽然两种漏洞都危害严重,但是他们的侧重点不同,因此相应的防御也有所不同。

(5)CSRF的防御

  • 验证Referer字段
  • 添加Token验证
  • 二次验证:在关键操作之前,再输入密码或者验证码。
  • HttpOnly:某些情况下禁止JS 脚本访问Cookie 信息。
  • SameSite:Cookie 属性,浏览器自带的安全机制。

资料参考:https://zhuanlan.zhihu.com/p/398601816 

https://www.cnblogs.com/yblackd/p/14533436.html

三、NSSCTF上的题

在解这个题之前,需要先了解以下Phar伪协议

用于将多个 PHP 文件、类、库、资源(如图像、样式表)等打包成一个单独的文件。这个归档文件可以像其他 PHP 文件一样被包含(include)或执行。PHAR 归档提供了一种方便的方式来分发和安装 PHP 应用程序和库,尤其是当它们包含许多文件和目录时

 1.phar 伪协议无论读取什么文件,都会将其视为压缩包进行解压缩,然后作为 php 代码执行,在文件上传类漏洞中经常被用到。

2.Phar伪协议是PHP的一个特性,它允许直接从Phar归档中读取文件,而不需要将Phar文件解压。这样可以直接从Phar文件运行PHP脚本,而无需在服务器上物理地提取文件。

例如,如果你有一个名为example.phar的Phar归档文件,你可以通过以下URL运行其中的PHP脚本:

phar://example.phar/somefile.php

在这个URL中,phar://是协议,example.phar是Phar文件的名称,somefile.php是Phar文件中的一个PHP文件。

相关例题([NISACTF 2022]bingdundun~): 

1.进入页面,观察到url有参数bingdundun,根据提示,随便上传一个jpg文件,发现url变成了上传php文件

那么猜测前面在输入 ?bingdundun=upload 时会自动添加 .php 后缀名,因为两种 URL 指向同一个页面,说明 ?bingdundun= 包含的就是 upload.php 文件。fuzz 一下,发现确实只能上传图片和压缩包。那么猜测是用 phar 伪协议进行文件包含

注意:phar 伪协议无论读取什么文件,都会将其视为压缩包进行解压缩,然后作为 php 代码执行,在文件上传类漏洞中经常被用到。 

2.建立一个有一句话木马的php文件,将它压缩成一个zip

 

3. 上传这个压缩包

4. 构造payload,利用phar伪协议,因为此页面会自动加上.php后缀,所以这里没写

?bingdundun=phar://102bf3460d121e159ba5d237f8dadd32.zip/shell

5.使用蚁剑链接,连接成功在根目录下找到flag

 [SWPUCTF 2022 新生赛]xff

1.进入页面,发现必须从小红的电脑上访问

2.根据题目的提示,抓包进行修改XFF

 3.修改XFF,发现回显,必须从主页跳转,于是添加Referer,得到flag

XFF:告诉服务器当前请求者的最终IP。在一些情况下,攻击者可能会尝试伪造X-Forwarded-For字段来隐藏其真实IP地址,因此在使用XFF时需要谨慎验证其真实性。

Referer:它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。

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

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

相关文章

【python】else与循环的搭配使用

看代码时发现的一种写法,学习一下。 1.for1)break2)no break 2.while1)break2)no break 几乎所有语言中,else的常用搭配就是if,而在python中else还可以和循环搭配使用,让代码更加pyt…

胡海建以“限时速运”填补市场空白,让跨越速运顺利突围

作为现代经济体系的重要支柱,物流行业近年来呈现出蓬勃发展的态势。各大物流企业也在竞争中不断向前。其中,跨越速运以“当天达”“次日达”“隔日达”三大跨省时效产品被广为认可。这背后,是跨越速运董事长胡海建对“限时速运”的精准把握。…

开源项目-Docker部署学之思管理系统

开源-Docker部署学之思管理系统 文章目录 开源-Docker部署学之思管理系统资源列表基础环境一、安装Docker二、配置加速器三、查看Docker版本四、Git获取源码五、编辑SQL脚本六、访问管理系统如果访问或者登录的时候出现内部服务错误,评论或私信,我给你解…

vue-pdf-embed 跨域(配置nginx允许跨域)

业务中有个功能需要实现预览pdf,使用了vue-pdf-embed。预览跨域报错。 原nginx路径配置 nginx需要增加跨域处理 增加这一行代码add_header Access-Control-Allow-Origin *; location /files/ {add_header Access-Control-Allow-Origin *;alias C:/uploadFile/; }

B端系统导航有哪些类型?本文告诉你7个常用的。

B端系统相对与C端来说,功能复杂,信息量大,流程负复杂,层级深,这个时候到就显得尤为重要了,直接关乎用户体验,本文大美B端工场带领大家看看这个问题。 一、导航对于B端系统的重要性 导航在B端系…

unity 打包PC安装包中常见文件的功能

目录 前言 一、打包好的文件 二、常用文件 1.文件夹XXX_Data 2.文件夹MonoBleedingEdge 3.文件夹XXX_Data内部 三、文件的应用 1.如果你替换了一个图片 2.如果你新增了或减少了图片和资源 3.场景中有变动 4.resources代码加载的资源改了 5.如果你代码替换了 四、作…

【笔记】【Git】多个dev分支合并到master分支的文件冲突

问题描述 多个dev分支在同步开发,同时发起代码评审,但合入master的时候存在先后顺序,那么后面同文件的操作则会提示“合并有文件冲突”,导致代码无法入库,只能重新提交。 在个人分支中如何解决与master分支差异,从何顺利提交评审合入代码? 参考方案 1、按照下面的流程…

智慧煤矿中的视觉分析:高效的下料口堵塞检测方案

随着工业4.0的推进,智慧煤矿逐渐成为煤炭行业的重要发展方向。智慧煤矿通过引入物联网、大数据、人工智能等技术,实现了矿井作业的自动化和智能化,从而提高了生产效率和安全水平。在智慧煤矿的运营过程中,下料口堵塞是一个常见且严…

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 团队派遣(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍓OJ题目截图 📎在线评测链接 团队派遣(100分) 🌍 评测功能需要订阅专栏…

硬核:浏览器发展的四大方向,早把C/S挤到犄角旮旯了。

浏览器是互联网的基础设施,浏览器早不满足于作为上网入口,而是全面进化啦,比如各类应用开始web化,同时浏览器也被分装到桌面应用中去,本文就给大家分享一下浏览器发展的四大方向。 方向一: 传统桌面浏览器…

一文读懂Web Codecs API:浏览器背后的媒体魔术师

引言 ​在早期的Web 网页中,视频播放通常要依靠 Flash 和 Silverlight 等插件来完成,浏览器是不支持直接播放视频的。 随着网络技术的发展,视频这种媒体方式的需求变得普遍,HTML5中,出现了一个新的元素Video&#xf…

VMware Workstation 16安装Redhat6.9

一、创建虚拟机及安装操作系统 1、创建虚拟机 VMware Workstation 16 创建虚拟机 2、安装Redhat6.9 1.挂载系统镜像 2.开启虚拟机,安装操作系统 3.选择【Install or upgrade an existing system】 4.默认,跳过 5.默认,【Next】 5.选择中文…

错误记录:调用原生TvSettings 的 com.android.tv.settings.device.storage.ResetActivity 无法启动

错误现场 起因:第三方 app 调用原生TvSettings 的 com.android.tv.settings.device.storage.ResetActivity ,发现无法启动,查看Log有报错。原因:未设置 android:exported“true”错误:ActivityTaskManager: Permissio…

土耳其(小亚细亚)历史上的各个阶段

一个国家的历史书写方式有两种,其一是按本国主体民族的渊源,其二是本国国土内发生的都属于本国史。一般来说,这两种方式相当程度上是重合的,但也有例外,比如本文要讲述的土耳其。 土耳其的国土并不辽阔,其…

文章解读与仿真程序复现思路——电工技术学报EI\CSCD\北大核心《100%新能源场景下考虑频率稳定约束的源网荷储一体化系统储能优化配置》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

遇到Windows无法启动时不要担心,这里有解决办法

序言 如果有一天你打开电脑,Windows拒绝启动,你该怎么办?其实“Windows无法启动”是一种常见症状,原因多种多样,因此你需要进行一些故障排除。 现代版本的Windows更善于从这种情况中自动恢复,而Windows XP遇到此问题时可能会停止在运行的地方,现代版本的Windows将尝试…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第39课-时间通知-按秒刷新

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第39课-时间通知-按秒刷新 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

version-manager最好用的SDK版本管理器,v0.6.2发布

项目地址:https://github.com/gvcgo/version-manager 中文文档:https://gvcgo.github.io/vdocs/#/zh-cn/introduction 功能特点: 跨平台,支持Windows,Linux,MacOS支持多种语言和工具,省心受到…

一个强大的算法模型,GP !!

高斯过程算法是一种强大的非参数机器学习方法,广泛应用于回归、分类和优化等任务中。其核心思想是利用高斯分布来描述数据的分布,通过核函数来度量数据之间的相似性。与传统的机器学习方法相比,高斯过程在处理小样本数据和不确定性估计方面具…

Linux内核编程(二)杂项设备模型框架

本文目录 一、知识点1. Linux设备分类2. 设备号3. Linux 字符设备的几种编程模型 二、杂项设备模型API1. 杂项设备结构体2. 注册杂项设备3. 注销杂项设备4. copy_from_user5. copy_to_user 三、字符设备编程 查看:内核驱动程序编写环境搭建。 一、知识点 1. Linux设…