CSRF 攻击实验:无防御措施的 CSRF 漏洞

2024-05-14 20:04

本文主要是介绍CSRF 攻击实验:无防御措施的 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/lab-no-defenses靶场要求:

​该实验室的电子邮件更改功能容易受到 CSRF 的攻击。为了解决这个实验室问题,请制作一些 HTML,使用CSRF 攻击来更改查看者的电子邮件地址并将其上传到您的漏洞利用服务器。您可以使用以下凭据登录您自己的帐户:wiener:peter

点击 Access The Lab 访问靶场

点击 My account 

输入题目给出的账号登录

登录进去后是一个更改邮件地址的界面,根据题目这里存在 CSRF 漏洞

打开 BurpSuite 抓包

发现 Cookie 值与 email 值 

BurpSuite 中右键生成 CSRF Poc

这里要更改下邮件地址(不能重复)

点击上面的 Go to exploit server 

在 Body 这个部分粘贴生成的 HTML 代码

点击 View exploit 可以看到自己的邮箱地址被更改证明 CSRF 漏洞利用成功

最后更改下 HTML 中的邮箱地址再点击 Deliver exploit to victim 就能通关啦

这篇关于CSRF 攻击实验:无防御措施的 CSRF 漏洞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989720

相关文章

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

单例模式以及反射对单例模式的破坏及防御

单例模式(Singleton Pattern)是一种确保类在应用程序生命周期内只存在一个实例的设计模式。它不仅提供了全局访问点,还能节省内存、控制实例的生命周期。但常见的单例模式实现方式如饿汉式、懒汉式、双重校验锁、静态内部类等,虽然设计良好,但都容易被 Java 的反射机制所破坏。本文将介绍这些单例实现方式的优缺点、反射如何破坏它们的唯一性,以及如何防御这种破坏。 1. 单例模式的常见实现

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

Java反序列化漏洞-TemplatesImpl利用链分析

文章目录 一、前言二、正文1. 寻找利用链2. 构造POC2.1 生成字节码2.2 加载字节码1)getTransletInstance2)defineTransletClasses 2.3 创建实例 3. 完整POC 三、参考文章 一、前言 java.lang.ClassLoader#defineClass defineClass可以加载字节码,但由于defineClas

LTspice模拟CCM和DCM模式的BUCK电路实验及参数计算

关于BUCK电路的原理可以参考硬件工程师炼成之路写的《 手撕Buck!Buck公式推导过程》.实验内容是将12V~5V的Buck电路仿真,要求纹波电压小于15mv. CCM和DCM的区别: CCM:在一个开关周期内,电感电流从不会到0. DCM:在开关周期内,电感电流总会到0. CCM模式Buck电路仿真: 在用LTspice模拟CCM电路时,MOS管驱动信号频率为100Khz,负载为10R(可自

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取用户的敏感信息(如Cookie、会话令牌)或控制用户浏览器的行为,进而造成信息泄露、身份冒用等严重后果。 2. XSS攻击类型 2.1 存储型XSS 存储型XS

【前端安全】浅谈XSS攻击和防范

定义 XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。 分类 大分类小分类原理非存储DOM型① 不需要经过服务器