#渗透测试#SRC漏洞挖掘#深入挖掘CSRF漏洞01

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章阅读。

目录

CSRF(跨站请求伪造)概述

一、定义

漏洞原理

对身份认证的理解

1. 基于 Cookie 的会话管理

2. 身份认证的脆弱性

 3. 基础身份认证协议、Session、Cookie机制

基础身份认证协议

Session

Cookie机制

 4. HTTP Only、Secure Cookie

HTTP Only Cookie

Secure Cookie

二、挖掘CSRF漏洞的步骤

1. 识别目标网站

2. 分析网站功能

3. 识别敏感操作

4. 分析请求

5. 尝试构造CSRF攻击

6. 测试攻击效果

三、CSRF漏洞挖掘工具

1. Burp Suite

2. CSRFTester

3. OWASP ZAP

四、注意事项

1. 遵守法律法规

2. 保密性

3. 风险评估

五、总结


CSRF(跨站请求伪造)概述

一、定义

CSRF全称为跨站请求伪造(Cross - site request forgery),也被称为one - click attack或者session riding,是一种网络攻击方式。

漏洞原理

1、用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2、在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
3、用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
4、网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
5、浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

对身份认证的理解

CSRF 攻击与身份认证的关系

1. 基于 Cookie 的会话管理
  • Cookie 机制:当用户登录一个网站时,服务器会生成一个会话标识符(Session ID),并将其存储在用户的浏览器中作为 Cookie。后续的请求中,浏览器会自动附带这个 Cookie,服务器通过 Cookie 中的 Session ID 来识别用户的身份。

  • CSRF 利用:攻击者通过诱导用户访问恶意网站,利用用户浏览器中的 Cookie 自动附带的特性,伪造请求发送给合法网站。由于请求中包含了用户的 Cookie,合法网站无法区分该请求是用户的真实操作还是攻击者的伪造请求。

2. 身份认证的脆弱性
  • 单一认证因子:基于 Cookie 的会话管理仅依赖于一个认证因子(即 Cookie),一旦 Cookie 被利用,攻击者可以轻易地伪造请求。

  • 缺乏请求验证:合法网站通常不会对每个请求进行详细的验证,只要请求中包含有效的 Cookie,就会被认为是合法的请求。

 3. 基础身份认证协议、Session、Cookie机制
基础身份认证协议

基础身份认证协议是网络中用于验证用户身份的一组标准规则和过程。以下是一些常见的身份认证协议:

1. HTTP Basic Authentication

  • 描述:最简单的身份认证方法之一,用户名和密码通过Base64编码后,作为HTTP请求的Authorization头的一部分发送。

  • 安全性:不安全,因为密码以明文形式发送,容易遭受中间人攻击。

2. HTTP Digest Authentication

  • 描述:一种更安全的身份认证方法,使用MD5散列函数对用户名、密码和随机生成的挑战(nonce)进行散列,以生成响应。

  • 安全性:比Basic Authentication更安全,因为不会在网络上发送明文密码。

3. OAuth

  • 描述:一种授权框架,允许第三方应用代表用户访问他们的服务器资源,而无需暴露用户的凭据。

  • 安全性:提供了一种安全的机制来授权第三方应用访问用户的资源。

4. OpenID Connect

  • 描述:建立在OAuth 2.0之上,提供身份验证和授权功能,允许用户在不同的服务之间安全地登录和交换信息。

  • 安全性:提供了用户身份验证和授权的标准方法。

Session

Session是一种会话管理机制,用于在用户会话期间存储用户的状态信息。以下是一些关于Session的关键点:

1. 会话的概念

  • 描述:会话是一系列交互的集合,用户在访问网站或应用时,会话用于维护用户的状态。

  • 存储:会话信息通常存储在服务器端,例如在内存、数据库或文件系统中。

2. Session ID

  • 描述:会话的唯一标识符,用于识别用户的会话。

  • 生成:服务器在用户登录时生成Session ID,并通过Cookie或URL重写发送给客户端。

3. Session的生命周期

  • 创建:用户登录时创建会话。

  • 维护:会话期间,用户的状态信息被存储在会话中。

  • 销毁:用户登出或会话超时时,会话被销毁。

Cookie机制

Cookie是一种小型的数据存储机制,用于在客户端(通常是用户的浏览器)上存储信息。以下是一些关于Cookie的关键点:

1. Cookie的概念

  • 描述:Cookie是服务器发送到客户端的一段小数据,通常用于存储用户信息或会话标识符。

  • 存储:Cookie存储在用户的浏览器中,并在后续请求中发送回服务器。

2. Cookie的类型

  • 会话Cookie:临时存储在浏览器中,直到浏览器关闭。

  • 持久Cookie:存储在硬盘上,可以跨越多个会话。

3. Cookie的用途

  • 身份认证:存储用户的登录凭证或会话ID。

  • 个性化:存储用户的偏好设置或浏览历史。

  • 跟踪:记录用户的行为,用于分析或广告。

 4. HTTP Only、Secure Cookie

 

HTTP Only和Secure Cookie是设置在HTTP响应中的两个重要的Cookie属性,它们各自提供不同的安全特性。

HTTP Only Cookie
  • 定义:HTTP Only Cookie是一个设置在HTTP响应中的属性,用于指示浏览器不要通过JavaScript的Document.cookie 接口提供对Cookie的访问。
  • 目的:防止XSS(跨站脚本)攻击,因为攻击者通常通过JavaScript脚本访问和利用Cookie。
  • 效果:即使攻击者能够在用户的浏览器中执行JavaScript代码,他们也无法读取HTTP Only Cookie的值,从而减少了XSS攻击的风险。
Secure Cookie
  • 定义:Secure Cookie是另一个设置在HTTP响应中的属性,它指示浏览器只通过安全的HTTPS连接发送Cookie。
  • 目的:防止Cookie在非加密的HTTP连接中被截获,从而保护用户的隐私和数据的完整性。
  • 效果:Secure Cookie确保了即使在传输过程中被截获,攻击者也无法读取Cookie的内容,因为HTTPS协议对传输内容进行了加密。

两者的区别

  • HTTP Only:关注的是防止JavaScript访问Cookie,从而减少XSS攻击的风险。

  • Secure:关注的是防止Cookie在非加密的HTTP连接中被截获,从而保护传输过程中的安全。

如何设置

  • HTTP Only:在设置Cookie时,可以添加HttpOnly属性,例如:

    Set-Cookie: session_token=abc123; HttpOnly

  • Secure:同样在设置Cookie时,可以添加Secure属性,例如:

    Set-Cookie: session_token=abc123; Secure

使用建议

  • 为了提高安全性,建议对所有敏感的Cookie都设置HttpOnlySecure属性。

  • HttpOnly属性可以防止XSS攻击,而Secure属性可以防止Cookie在非加密连接中被截获。

  • 即使使用了HTTPS,也应该设置Secure属性,因为HTTPS有时可能会被降级为HTTP。

通过设置HTTP Only和Secure Cookie属性,可以显著提高Web应用的安全性,减少XSS攻击和中间人攻击的风险。

二、挖掘CSRF漏洞的步骤

1. 识别目标网站

  • 选择一个目标网站进行测试,该网站应具有用户认证和敏感操作(如转账、修改个人信息等)。

2. 分析网站功能

  • 分析网站的功能和流程,了解哪些操作可能存在CSRF漏洞。
  • 例如,转账、修改密码、删除账户等操作通常具有较高的风险。

3. 识别敏感操作

  • 识别需要进行身份验证的敏感操作,这些操作通常涉及修改用户数据或执行敏感交易。

4. 分析请求

  • 分析敏感操作的HTTP请求,包括请求方法(GET或POST)、请求参数和请求头等。
  • 注意检查请求中是否包含必要的身份验证信息,如Cookie或Session ID。

5. 尝试构造CSRF攻击

  • 使用Burp Suite、CSRFTester等工具尝试构造CSRF攻击。
  • 构造攻击向量,例如HTML页面、JavaScript代码或电子邮件等,诱导用户访问或执行操作。

6. 测试攻击效果

  • 观察攻击效果,如果攻击成功执行了敏感操作,则说明目标网站存在CSRF漏洞。
  • 记录攻击过程和结果,以便后续分析和修复。

三、CSRF漏洞挖掘工具

1. Burp Suite

  • 一款功能强大的Web应用程序安全测试工具,可以用于检测和利用CSRF漏洞。
  • 可以使用Burp Suite的Repeater工具发送和修改HTTP请求,观察请求的响应和结果。

2. CSRFTester

  • 一款专门用于检测CSRF漏洞的工具,可以自动识别和测试目标网站的CSRF漏洞。
  • 可以使用CSRFTester自动抓取目标网站的链接和表单,并尝试构造CSRF攻击。

3. OWASP ZAP

  • 一款开源的Web应用程序安全测试工具,可以用于检测和利用CSRF漏洞。
  • 可以使用OWASP ZAP的Scanner工具扫描目标网站,识别潜在的CSRF漏洞。

四、注意事项

1. 遵守法律法规

  • 在进行CSRF漏洞挖掘时,必须遵守相关法律法规,不得对非授权的网站进行攻击或测试。
  • 在进行测试前,应获得目标网站的授权或同意。

2. 保密性

  • 在发现CSRF漏洞后,应保持信息的保密性,避免泄露给攻击者。
  • 应及时向目标网站报告漏洞,并协助修复。

3. 风险评估

  • 在进行CSRF漏洞挖掘时,应评估潜在的风险和影响,避免对目标网站造成不必要的损害。
  • 应制定详细的测试计划和风险评估报告。

五、总结

CSRF漏洞挖掘是一个复杂的过程,需要深入了解CSRF漏洞的原理和触发条件。通过使用合适的工具和方法,可以有效地识别和测试CSRF漏洞。同时,在进行测试时,应遵守相关法律法规,保持信息的保密性,并评估潜在的风险和影响。

 未完待续!!!!

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

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

相关文章

揭秘云计算 | 2、业务需求推动IT发展

揭秘云计算 | 1、云从哪里来?-CSDN博客https://blog.csdn.net/Ultipa/article/details/143430941?spm1001.2014.3001.5502 书接上文: 过去几十年间IT行业从大型主机过渡到客户端/服务器,再过渡到现如今的万物互联,IT可把控的资…

Grover算法——量子搜索算法

假设N个数据中符合条件的数据有M个,则量子搜索算法的复杂度为,远小于经典算法的复杂度。 黑箱 下面以N2为例,介绍黑箱如何标记符合条件的数据。N2意味着只有两个数据,可以用0和1来表示这两个数据,也就只需要一个量子比…

Ubuntu24.04网络异常与应对方案记录

PS: 参加过408改卷的ZJU ghsongzju.edu.cn 开启嘲讽: 你们知道408有多简单吗,操作系统真实水平自己知道就行~~ Requested credits of master in UWSC30,in ZJU24,domestic master is too simple ubuntu安全软件 在 U…

智能的编织:C++中auto的编织艺术

在C的世界里,auto这个关键字就像是一个聪明的助手,它能够自动帮你识别变量的类型,让你的代码更加简洁和清晰。下面,我们就来聊聊auto这个关键字的前世今生,以及它在C11标准中的新用法。 auto的前世 在C11之前&#x…

Spark的Standalone集群环境安装

一.简介 与MR对比: 概念MRYARNSpark Standalone主节点ResourceManagerMaster从节点NodeManagerWorker计算进程MapTask,ReduceTaskExecutor 架构:普通分布式主从架构 主:Master:管理节点:管理从节点、接…

cache(一)基本概念

在知乎发现一份不错得学习资料 请教CPU的cache中关于line,block,index等的理解? PPT 地址 https%3A//cs.slu.edu/%7Efritts/CSCI224_S15/schedule/chap6-cache-memory.pptx 课程主页 https://cs.slu.edu/~fritts/CSCI224_S15/schedule/ 文章目录 1. cache概念2. cac…

前端CSS3 渐变详解

文章目录 CSS3 渐变详解一、引言二、CSS3 渐变基础1、线性渐变1.1、基本线性渐变1.2、改变渐变方向 2、径向渐变2.1、基本径向渐变2.2、设置径向渐变的中心 三、高级渐变技巧1、重复渐变1.1、重复线性渐变1.2、重复径向渐变 四、总结 CSS3 渐变详解 一、引言 在现代网页设计中…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二)

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二) 本教程作为gdb/gdbserver编译安装教程的一个补充,教会大家如何使用gdb/gdbserver进行远程调试。 如上图所示,我们需要将编译后的gdbserver上传至目标设备,其上…

(65)使用RLS自适应滤波器进行信道均衡的MATLAB仿真

文章目录 前言一、仿真说明二、码间串扰、色散、与频率选择性衰落1. 码间串扰(ISI)2. 信道的色散与码间串扰3. 减少ISI的方法 三、MATLAB仿真代码四、仿真结果1.发送16QAM信号的星座图2.信道的频率响应3.接收16QAM信号的星座图4.均衡后16QAM信号的星座图…

【数据分析】如何构建指标体系?

有哪些指标体系搭建模型?五个步骤教你从0开始搭建指标体系 一、企业指标体系搭建存在什么问题 许多企业在搭建数据指标体系时遇到了诸多难题,如问题定位不准确、数据采集不完整、目标不一致、报表无序、指标覆盖不全面以及报表价值未充分利用等。 1、…

【Linux 30】传输层协议 - TCP

文章目录 🌈 一、TCP 协议介绍⭐ 1. TCP 协议的特点 🌈 二、TCP 协议格式⭐ 1. TCP 报头中各字段的含义⭐ 2. 各 TCP 标志位的用途⭐ 3. 使用结构体描述 TCP 报头 🌈 三、TCP 的窗口⭐ 1. TCP 的发送和接收缓冲区⭐ 2. TCP 为什么存在缓冲区⭐…

【Linux杂货铺】IO多路复用

目录 🌈前言🌈 📁 五种IO模型 📂 阻塞IO 📂 非阻塞IO 📂 信号驱动IO 📂 多路复用 📂 异步IO 📁 非阻塞IO实现 📁 select 📂 接口使用 &#x…

Kafka 的一些问题,夺命15连问

kafka-中的组成员 kafka四大核心 生产者API 允许应用程序发布记录流至一个或者多个kafka的主题(topics)。 消费者API 允许应用程序订阅一个或者多个主题,并处理这些主题接收到的记录流 StreamsAPI 允许应用程序充当流处理器(s…

ANNOVAR下载

1.官网 https://annovar.openbioinformatics.org/en/latest/user-guide/startup/ 都填英文 要不然会报错 tar -xzvf annovar.latest.tar.gztree . ├── annotate_variation.pl ├── coding_change.pl ├── convert2annovar.pl ├── example │ ├── ex1.avinput…

集群架构中Lua脚本的限制以及出现的报错

🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀 🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷…

大语言模型:解锁自然语言处理的无限可能

0.引言 在当今的科技时代,自然语言处理技术正以前所未有的速度发展,语言大模型作为其中的核心力量,对各个领域产生了深远的影响。本文旨在探讨语言大模型的发展历程、核心技术以及广泛的应用场景,以帮助读者更好地理解这一前沿技…

MATLAB实现智能水滴算法(Intelligent Water Drops Algorithm, IWDA)

1.智能水滴算法介绍 智能水滴算法(Intelligent Water Drops Algorithm,IWDA)是一种基于水滴特性的智能优化算法,它借鉴了水滴在自然界中的运动和形态变化规律,通过模拟水滴的形成、发展和消亡过程,实现问题…

【计网】基于TCP协议的Echo Server程序实现与多版本测试

目录 前言: 1、InitServer类的实现 1.1. 创建流式套接字 1.2. bind 绑定一个固定的网络地址和端口号 1.3.listen监听机制 1.4.完整代码 2. 循环接收接口与服务接口 2.1.accept函数讲解 讲个商场拉客的故事方便我们理解: 2.2.服务接口实现 3.服…

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头

easyexcel实现自定义的策略类, 最后追加错误提示列, 自适应列宽,自动合并重复单元格, 美化表头 原版表头和表体字体美化自动拼接错误提示列自适应宽度自动合并单元格使用Easyexcel使用poi导出 在后台管理开发的工作中,离不开的就是导出excel了. 如果是简单的导出, 直接easyexce…

边缘计算的学习

文章目录 概要何为边缘计算?现阶段,企业使用边缘计算相对云计算 整体架构流程边缘网络组件边缘计算与云安全 研究方向结合引用 概要 edge 何为边缘计算? 边缘计算(英语:Edge computing),是一种…