CSRF 攻击实验:Token 不存在绕过验证

前言

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-token-being-present点击 Access The Lab

该实验室的电子邮件更改功能容易受到 CSRF 的攻击。要完成该实验,请使用您的漏洞利用服务器托管一个 HTML 页面,该页面使用 CSRF 攻击来更改查看者的电子邮件地址。您可以使用以下凭据登录您自己的帐户:wiener:peter

点击 My account

使用靶场给出了账号登录

随便输入值然后打开 BurpSuite 抓包

观察其参数 

先右键生成 CSRF Poc

点击复制 HTML

点击 Go to exploit server 

粘贴到 Body 中点击 View exploit

显示 CSRF Token 值无效

将其更改为 GET 方式请求也同样如此

补充知识

在CSRF防护中,令牌验证的方式通常取决于令牌是否存在。这是因为令牌的存在与否决定了服务器在处理请求时是否需要进行令牌验证。以下是对CSRF中令牌验证与令牌存在的关系的理解:

1. 令牌存在:如果CSRF令牌存在于请求中,服务器会对令牌进行验证以确保其有效性。验证通常包括检查令牌的正确性、时效性和唯一性等。如果令牌验证成功,则服务器会继续处理请求。如果令牌验证失败,则服务器会拒绝请求并返回错误响应。

2. 令牌不存在:如果CSRF令牌在请求中不存在,服务器可以根据具体情况来决定如何处理。一种常见的做法是拒绝处理请求,即使请求本身是合法的。这是因为缺少令牌可能意味着请求可能是来自恶意的第三方网站,存在CSRF攻击的风险。服务器返回错误响应或要求用户重新进行身份验证等。

需要注意的是,令牌验证应该是在服务器端进行的,而不是在客户端。令牌应该在服务器端生成,并在每个请求中进行验证。客户端负责将令牌添加到请求中,以便服务器进行验证。

CSRF令牌的生成和分发通常会在用户登录或访问受保护页面时进行。服务器会将令牌存储在会话(Session)或Cookie中,并将其添加到每个请求中。客户端可以通过从会话或Cookie中读取令牌,并将其添加到请求中,以进行验证。

综上所述,CSRF中令牌验证的方式取决于令牌是否存在。如果令牌存在,服务器会对令牌进行验证以确保其有效性。如果令牌不存在,服务器可能会拒绝处理请求或采取其他安全措施。令牌的生成和分发应在服务器端进行,并由客户端添加到请求中。这样可以增强CSRF防护的安全性和可靠性。

尝试删除 csrf 参数值重新够 CSRF Poc 

更改成功!!

更改 HTML 邮箱中的地址点击 Deliver exploit to victim

成功通关! 

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

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

相关文章

基于Java+SpringBoot+vue+elementui 实现猜灯谜答题抽奖系统

目录 系统简介效果图1、手机答题端2、后台系统管理 源码结构源码下载地址技术交流 博主介绍&#xff1a; 计算机科班人&#xff0c;全栈工程师&#xff0c;掌握C、C#、Java、Python、Android等主流编程语言&#xff0c;同时也熟练掌握mysql、oracle、sqlserver等主流数据库&…

MES系统在电线电缆行业生产上的应用

MES系统在线缆行业的应用可以带来多重价值&#xff0c;包括提高生产效率、降低生产成本、提高产品质量、优化库存管理、改善生产环境和提高企业竞争力等方面。因此&#xff0c;在电线电缆行业中广泛应用MES系统可以提高企业的经济效益和社会效益&#xff0c;推动企业发展和行业…

第1章 初始Spring Boot【仿牛客网社区论坛项目】

第1章 初始Spring Boot【仿牛客网社区论坛项目】 前言推荐项目总结第1章初识Spring Boot&#xff0c;开发社区首页1.课程介绍2.搭建开发环境3.Spring入门体验IOC容器体验Bean的生命周期体验配置类体验依赖注入体验三层架构 4.SpringMVC入门配置体验响应数据体验响应Get请求体验…

【项目汇报中的 STAR 法则】项目管理必会的思维分析工具13

STAR法则是《高效培训》一书中所提出的概念&#xff0c;是结构化的一个重要理论&#xff0c;即Situation&#xff08;情景&#xff09;、Task&#xff08;任务&#xff09;、Action&#xff08;行动&#xff09;和Result&#xff08;结果&#xff09;。 1.Situation&#xff0…

绝地求生:一穿四教学,绿色玩家也能轻松一穿四

PUBG一穿四速成班开课啦&#xff01;我这里只做PUBG干货分享&#xff0c;不搬运&#xff01;不搬运&#xff01;&#xff01;不搬运&#xff01;&#xff01;&#xff01; 有很多朋友是否在排位里kd不高&#xff0c;开局不是扎堆roll点就是一直搜东西然后一波就没&#xff1f;这…

机器视觉中的打光技巧、选择光源的流程

目录 基本原则选择照明的考虑因素明场照明和暗场照明全明场照明&#xff08;漫射照明&#xff09;技术 特定光源1. 环形光源2. 条形光源3. 同轴光源3.1 何时使用同轴照明&#xff1f;3.2 何时不使用同轴照明&#xff1f; 4. 背光源5. 远心照明6. 点光源7. 穹顶光源8. 线光源9. …

3、架构-事务处理

目录 概述 场景事例 本地事务 实现原子性和持久性 实现隔离性 概述 事务处理几乎在每一个信息系统中都会涉及&#xff0c;它存在的意义是为 了保证系统中所有的数据都是符合期望的&#xff0c;且相互关联的数据之间不 会产生矛盾&#xff0c;即数据状态的一致性&#xff0…

鸿蒙OS开发:【Stage模型应用程序包结构】

Stage模型应用程序包结构 为了让开发者能对应用程序包在不同阶段的形态更有清晰的认知&#xff0c;分别对开发态、编译态、发布态的应用程序结构展开介绍。 开发态包结构 在DevEco Studio上[创建一个项目工程]&#xff0c;并尝试创建多个不同类型的Module。根据实际工程中的…

vs2019 c++静态断言 static_assert ()

(1) 静态断言&#xff0c;就是在编译时候&#xff0c;让编译器测试一下&#xff0c; static_assert( bool a , “字符串”) 的第一个参数&#xff0c;若 第一个参数为 true &#xff0c;则表明程序可以被编译。否则&#xff0c;编译器拒绝编译。这是为了满足某些代码在语法语义…

研究变压器感应耐压试验电源的能效和节能潜力

变压器感应耐压试验电源 变压器感应耐压试验电源在电源行业中是一种非常重要的设备&#xff0c;用于测试和验证变压器的绝缘性能。变压器感应耐压试验电源是一种专门为变压器感应耐压试验而设计的电源设备。它的工作原理基于变压器的感应原理&#xff0c;利用感应电压来对变压器…

实现 Flask 应用的 HTTPS 加密保护

文章目录 1. 获得免费的 SSL 证书步骤&#xff1a; 2. 配置 Flask 应用3. 测试和部署结论结论 在今天的网络环境中&#xff0c;保护网站和用户数据的安全至关重要。通过在 Flask 应用中启用 HTTPS 加密&#xff0c;您可以确保用户的数据在传输过程中得到保护。本文将介绍如何结…

数据分析(二)——导入外部数据,导入Excel数据,CSV文件,txt文件,HTML网页,数据抽取,DataFrame对象的loc属性与iloc属性

一.导入外部数据 1.导入.xIs或.xIsx文件 pd.read_ excel(io,sheet_ name,header) 1.1常用参数说明 ●io:表示.xIs或.xIsx文件路径或类文件对象 ●sheet name:表示工作表&#xff0c;取值如下表所示 ●header:默认值为0&#xff0c;取第一行的值为列名&#xff0c;数据为除列…

接口文档编写注意事项

接口文档编写注意事项 字段方面 ①不需要的字段、逻辑中固定值的字段&#xff08;可写死的字段&#xff09;不提供 ②逻辑上可以合并的字段合并 例如&#xff1a;当一个互斥条件下&#xff0c;分别返回了两个字段&#xff0c;这个时候就可以在这个基础上将两个字段合并成一个…

(十)Python基础练习题一(50道选择题)#Python

本文整理了Python基础知识相关的练习题&#xff0c;共50道&#xff0c;适用于刚入门初级Python想巩固基础的同学。来源&#xff1a;如荷学数据科学题库&#xff08;技术专项-Python一&#xff09;。 1&#xff09; 2&#xff09; 3&#xff09; 4&#xff09; 5&#xff09; 6…

搞懂Servlet(1)- 介绍

介绍Servlet 今天&#xff0c;我们都意识到创建动态网页的必要性。动态网页就是网页内容会随着时间变化&#xff0c;或者内容会根据请求参数的不同而变化。如果你使用java编程&#xff0c;很幸运的是有一种使用Java生成动态网页的方式-Java Servlet。但是&#xff0c;在这之前…

【web网页开发制作】Html+Css+Js游戏主题特效及轮播效果网页作业天涯明月刀(7页面附源码)

HTMLCSSJS游戏主题轮播效果 &#x1f354;涉及知识&#x1f964;写在前面✨特效展示特效1、轮播幻灯效果特效2和3、鼠标悬浮及点击效果 &#x1f367;一、网页主题&#x1f333;二、网页效果Page1、首页Page2、游戏简介Page3、新闻中心Page4、互动专区Page5、视听盛宴Page6、用…

ctfshow parse_url wp

第一关 这个parse_url函数就是解析URL并且进行拆分的 $url "https://www.example.com/path/to/page?param1value1&param2value2";$parsed_url parse_url($url);print_r($parsed_url); Array ([scheme] > https[host] > www.example.com[path] > /p…

【论文复刻】 堆叠柱状图变形

复刻了一下这篇论文里的fig4a&#xff1a;Impacts of COVID-19 and fiscal stimuli on global emissions and the Paris Agreement | Nature Climate Change 效果图&#xff1a;​ 主要步骤&#xff1a; 1. 数据准备&#xff1a;随机赋值 2. 数据处理&#xff1a;计算了一个…

机器学习中常用的几种距离——欧式、余弦等

目录 一、欧式距离&#xff08;L2距离&#xff09;二、曼哈顿距离&#xff08;L1距离&#xff09;三、汉明距离四、余弦相似度 一、欧式距离&#xff08;L2距离&#xff09; &#xff08;1&#xff09;二维空间的距离公式&#xff08;三维空间的在这个基础上类推&#xff09;&…

4.StableDiffusion各项参数解读

经过前期的努力&#xff0c;我想大家都已经生成了自己的第一张AI作品&#xff0c;但是充满了随机性&#xff0c;每次都是不一样的&#xff0c;并且有时候生成的图片效果还不是很让人满意&#xff0c;暂且先不要着急&#xff0c;先跟着本篇文章&#xff0c;学习一些每个选项和参…