CSRF 攻击实验:更改请求方式绕过验证

前言

CSRF(Cross-Site Request Forgery),也称为XSRF,是一种安全漏洞,攻击者通过欺骗用户在受信任网站上执行非自愿的操作,以实现未经授权的请求。

CSRF攻击利用了网站对用户提交的请求缺乏充分验证和防范的弱点。攻击者通常通过在受信任网站上构造恶意的请求链接或提交表单,然后诱使用户点击该链接或访问包含恶意表单的页面。当用户执行了这些操作时,网站会自动发送请求,包含用户的身份验证信息,而用户并不知情。

以下是一个简单的示例,说明可能导致CSRF攻击的代码片段:

<!-- 受信任网站的删除用户请求 -->
<form action="https://example.com/deleteUser" method="POST"><input type="hidden" name="userId" value="123" /><input type="submit" value="Delete User" />
</form>

在这个示例中,攻击者可能在自己的网站上构造一个页面,包含上述代码。当用户访问该页面时,浏览器会自动向`https://example.com/deleteUser`发送POST请求,删除用户ID为123的用户,而用户可能并不知情。

为了防止CSRF攻击,可以采取以下安全措施:

1. CSRF令牌:为每个用户生成独特的CSRF令牌,并将其包含在请求中。服务器在处理请求时验证令牌的有效性,如果令牌无效,则拒绝该请求。

2. SameSite Cookie属性:将Cookie的SameSite属性设置为Strict或Lax,以限制Cookie的跨站点访问。这可以防止攻击者在受信任网站上利用用户的身份验证Cookie。

3. 验证HTTP Referer头部:服务器可以验证请求中的Referer头部,确保请求来自受信任的来源。然而,这种方法并不可靠,因为Referer头部可能被篡改或缺失。

4. 验证用户操作:在执行敏感操作(如删除用户)之前,要求用户进行额外的身份验证,如输入密码或通过二次确认。

5. 随机化请求参数:在请求中包含随机生成的参数,并且要求服务器验证这些参数的有效性。这可以防止攻击者构造恶意请求。

总之,CSRF是一种安全漏洞,攻击者通过欺骗用户在受信任网站上执行非自愿的操作来实现未经授权的请求。为了防止CSRF攻击,应使用CSRF令牌、设置SameSite Cookie属性、验证HTTP Referer头部、验证用户操作和随机化请求参数等安全措施。

实操演示

打开靶场

靶场链接icon-default.png?t=N7T8https://portswigger.net/web-security/csrf/bypassing-token-validation/lab-token-validation-depends-on-request-method点击 Access The Lab

该实验室的电子邮件更改功能容易受到 CSRF 的攻击。它尝试阻止 CSRF 攻击,但仅对某些类型的请求进行防御。要完成该实验,请使用您的漏洞利用服务器托管一个 HTML 页面,该页面使用CSRF 攻击来更改查看者的电子邮件地址。您可以使用以下凭据登录您自己的帐户:wiener:peter

点击 My account 登录

到了这个页面后根据题意应该存在 CSRF 漏洞,打开 BurpSuite 抓包发现 email 参数以及 csrf 参数

右键生成 CSRF Poc

点击复制 HTML

回到靶场点击 Go to exploit server

粘贴到 Body 内然后点击 VIew exploit

显示无效

补充知识

在CSRF防护中,令牌验证的方式可以根据请求方法的不同而有所差异。这是因为不同的请求方法在请求的构造和传递方式上有所不同。以下是对CSRF中令牌验证与请求方法的关系的理解:

1. GET请求:对于GET请求,通常不建议在URL中包含敏感信息,因此CSRF令牌可以通过请求头中的自定义字段进行传递。服务器在处理GET请求时,验证请求头中的令牌的有效性。

2. POST请求:对于POST请求,可以将CSRF令牌作为请求体中的隐藏字段(hidden field)进行传递。服务器在处理POST请求时,验证隐藏字段中的令牌的有效性。

3. AJAX请求:对于使用AJAX进行的异步请求,可以将CSRF令牌作为请求头中的自定义字段进行传递。服务器在处理AJAX请求时,验证请求头中的令牌的有效性。

4. PUT、DELETE、PATCH等其他请求方式:对于这些请求方式,同样可以将CSRF令牌作为请求头中的自定义字段进行传递。服务器在处理这些请求时,验证请求头中的令牌的有效性。

需要注意的是,CSRF令牌的验证方式应根据请求方法进行相应配置,以确保令牌的有效性。服务器在接收到请求后,根据请求方法来选择正确的验证方式,以防止CSRF攻击。

此外,CSRF令牌的生成和分发也应根据请求方法进行适当的处理。例如,对于GET请求,令牌可以在用户登录或访问受保护页面时生成,并在请求头中的自定义字段中进行传递。对于POST请求,令牌可以作为隐藏字段包含在表单中。

综上所述,CSRF中令牌验证的方式可以根据请求方法的不同进行定制。服务器在处理请求时,根据请求方法选择正确的验证方式,并确保令牌的有效性。同时,生成和分发令牌的方式也应根据请求方法进行适当的处理。这样可以增强CSRF防护的安全性和可靠性。

重新回到 BurpSuite 中更改请求方式然后放行

可以看到邮箱更改成功,证明 GET 请求也能更改邮箱 

之前用 POST 请求构造 CSRF Poc 不行,这次换 GET 尝试

粘贴到 Body 中点击 View exploit

更改成功!

最后重新更改下邮箱点击 Deliver exploit to victim 即可通关 

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

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

相关文章

aigc在前端中的应用-CodeGeex

前言&#xff1a;目前市场上优秀的智能编程助手有很多&#xff0c;其中以GitHub Copilot&#xff0c;Tabnine为最&#xff0c;但是目前这两款优质的智能编程助手都是需要付费的。如果不选择花费的话&#xff0c;在这里我们向小伙伴推荐免费的智能编程助手codegeex&#xff0c;性…

F5 Big-IP的一些查看命令

1 查看主机名&#xff0c;序列号&#xff0c;版本号 system —>configuration—>Device

抖音评论采集python爬虫(含一二级评论内容)

声明 仅用于学习交流&#xff0c;不用于其他用途 正文 随着抖音评论采集更新需要登录&#xff0c;由于不懈的努力&#xff0c;攻破这一难点&#xff0c;不需要登录采集作品所有评论信息 话不多说上代码看效果&#xff1a; 输入作品id: 这样就拿到评论信息了&#xff0c;可以…

使用virtualbox和vagrant搭建centos环境报错问题解决

启动提示下面的异常&#xff1a; Timed out while waiting for the machine to boot. This means that Vagrant was unable to communicate with the guest machine within the configured ("config.vm.boot_timeout" value) time period.If you look above, you sh…

DiskGenius帮你恢复系统无法识别的U盘数据

场景还原 前两天早上U盘复制文件卡死后&#xff0c;强行断开U盘&#xff0c;再次使用直接无法访问&#xff0c;心拔凉拔凉&#xff01;&#xff01; 使用驱动器G:中的光盘之前需要将其格式化 位置不可用-无法访问U盘 常规科普 一、U盘无法识别 1、检查U盘是否插入正确&…

python 两种colorbar 最大最小和分类的绘制

1 colorbar 按照自定义的最值绘制 归一化方法使用Normalize(vmin0, vmax40.0) import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.cm as cm import matplotlib.colors as mcolors from matplotlib import rcParams from matplot…

使用KNN预测一个新的点,以及将这个点用五角星进行matplotlib可视化展示

概述 基于之前的KNN案例继续做一些操作。 之前的完整代码如下&#xff1a; from sklearn.datasets import make_blobs # KNN 分类器 from sklearn.neighbors import KNeighborsClassifier # 画图工具 import matplotlib.pyplot as plt # 数据集拆分工具 from sklearn.model_…

金价又双叒涨了!现货黄金什么比较好

虽然近期有新闻显示&#xff0c;国内的实物黄金价格出现大幅的下跌&#xff0c;但是从整体看&#xff0c;多个黄金投资品种的长期上升趋势还是比较稳定的&#xff0c;因此我们会看到&#xff0c;很多投资者会趁现在这波下跌重新入场做多。那么投资黄金买什么比较好呢&#xff1…

秋招算法复习——5/15——三数之和

文章目录 问题描述思路分析实现代码分析与总结 问题描述 思路分析 三个之和为零&#xff0c;即a b c 0 &#xff0c;将这个拆解为b c -a &#xff0c;那就变成了两数之和问题。两重指针的模版来解决。 虽然列表中存在重复的数字&#xff0c;但是结果不允许存在重复的组合…

【数据结构】栈的实现(链式栈)

文章目录 栈的实现&#xff08;链式栈&#xff09;栈的定义初始化栈进栈判断是否为空栈出栈销毁栈获取栈顶元素获取栈的长度栈的打印 完整代码&#xff08;包括测试代码&#xff09;Stack.hStack.ctest.c 栈的实现&#xff08;链式栈&#xff09; 首先新建一个工程&#xff1a…

SAP BSEG VS ACDOCA 差异

温习一下 ACDOCA VS BSEG matinal&#xff1a;S4 HANA 详解ACDOCA与BSEG的区别都在这了_sap acdoca-CSDN博客

如何实现Linux双网卡同时连接内网和外网的配置?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

2023年国赛高教杯数学建模B题多波束测线问题解题全过程文档及程序

2023年国赛高教杯数学建模 B题 多波束测线问题 原题再现 单波束测深是利用声波在水中的传播特性来测量水体深度的技术。声波在均匀介质中作匀速直线传播&#xff0c;在不同界面上产生反射&#xff0c;利用这一原理&#xff0c;从测量船换能器垂直向海底发射声波信号&#xff…

【Kafka】2.深入理解Kafka事件流平台及其核心概念

1.事件流(Event streaming) 事件流是人体中枢神经系统的数字化的等价物。它是构建“始终在线”世界的技术基础&#xff0c;在这个世界中&#xff0c;企业越来越多地被定义为软件化和自动化&#xff0c;而软件的用户本身也是软件。 从技术上讲&#xff0c;事件流是从数据库、传…

regsvr32 注册报错

问题一&#xff1a; 1&#xff1a;解决办法&#xff0c;先通过dumpbin /imports 动态库名称 查看动态库依赖 2&#xff1a;查看动态库是32位还是64位&#xff0c;使用notepad打开exe文件&#xff08;dll文件&#xff09;&#xff0c;会有很多乱码&#xff0c;不要头疼&#xf…

关于大漠6.1544和谐版本的那些事

今天群里有人说&#xff0c;网络有这个版本的和谐版本&#xff0c;我就去淘宝花巨款买了1个来测试&#xff0c;下面把测试的结果聊一聊。 1&#xff0c;6.1544 属于很早的版本&#xff0c;发布时间应该是1998年&#xff1f;&#xff1f;属于老古董。 2&#xff0c;查看对应的大…

idea SpringBoot + Gradle 打成zip包(包含配置文件等)

前言&#xff1a; 通过上一文章&#xff0c;我们可以通过ideagradle 构建Springboot项目并实现打成jar包&#xff0c;本文章测试通过gradle 打包成zip包并包含启动文件、配置文件等信息&#xff1b;可点击此处查看idea SpringBoot Gradle 环境配置到项目打包-CSDN博客 一、工…

上海市虹桥祥源希尔顿酒店屋顶气膜网球馆

上海市虹桥祥源希尔顿酒店屋顶气膜网球馆为高端酒店设施增添了现代化、环保的运动场所。这座网球馆不仅为酒店住客提供了一个全天候、舒适的运动空间&#xff0c;也为虹桥地区的居民带来了全新的健身体验。作为轻空间&#xff08;江苏&#xff09;膜科技有限公司&#xff08;以…

Django创建网站的地基

相关文档 1、为新网站创建一个文件夹&#xff08;这里是&#xff1a;locallibrary&#xff09; D:\django>mkdir locallibraryD:\django>cd locallibraryD:\django\locallibrary>dirVolume in drive D is 新加卷Volume Serial Number is B68C-03F7Directory of D:\dj…

CF 944 (Div. 4) A~G

文章目录 A My First Sorting Problem&#xff08;模拟&#xff09;B Different String(模拟、字符串)C Clock and Strings&#xff08;模拟&#xff09;D Binary Cut &#xff08;贪心&#xff09;E Find the Car&#xff08;二分查找、数学&#xff09;F Circle Perimeter&am…