CSRF漏洞+附pikachu靶场详解

news2024/11/17 3:40:35

文章目录

  • 前言
  • 一、CSRF漏洞是什么
  • 二、CSRF漏洞形成的条件
      • 1、用户要在登录状态(即浏览器保存了该用户的cookie)
      • 2、用户要访问攻击者发的恶意url链接才行
  • 三、CSRF漏洞复现(pikachu靶场)
    • 1、CSRF(get)
    • 2、CSRF(post)
    • 3、CSRF(token)
  • 四、CSRF漏洞防御措施
      • 1、验证请求的referer值
      • 2、设置token随机值
  • 总结


前言

此文章只用于学习和反思巩固csrf攻击知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、CSRF漏洞是什么

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

在这里插入图片描述

这张图就详细展示了csrf攻击过程。

二、CSRF漏洞形成的条件

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

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

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

三、CSRF漏洞复现(pikachu靶场)

1、CSRF(get)

点击提示发现有vince/alien/kobe/grady/kevin/lucy/lili几个用户,密码均为123456,这里我们用vince(攻击者测试账号)和lili(受害者)来测试。
攻击者测试,登录vince测试账号,修改个人信息抓包发现。数据包可控参数是拼接在url上,是get请求。发现数据包并没有识别用户的标识,比如token。(如图所示)
在这里插入图片描述
在这里插入图片描述
所以攻击者可以模仿url让用户去点击,实施修改个人信息。
受害者测试。
在这里插入图片描述

假设用户点击了攻击者模仿的url,就会把个人息修改为攻击者想要的内容。(如图所示)
在这里插入图片描述

http://192.168.254.128/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=hacker&phonenum=hacker&add=hacker&email=hacker&submit=submit

在这里插入图片描述

2、CSRF(post)

上一关是get请求,也就是可控参数是拼接在url后面的,若没有严格设置识别用户身份的安全措施,攻击者就可以轻易的构造url让用户去访问从而修改其信息。这一关是post请求,无法简单的构造url进行欺骗,得通过数据包构造一个html界面,诱导用户点击。这里用grady(攻击者测试账号)kevin(受害者账号)
攻击者测试,发现是post请求,数据包没有验证用户的身份。
在这里插入图片描述
在这里插入图片描述
这里我们修改好我们要修改的用户信息,使用burpsuite专业版工具CSRF PoC构造html文件诱导用户访问。(如图所示)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
勾选include auto-submit script,单击Regenerate按钮,然后copy html。
这里我把恶意html文件放在了攻击者服务器,当受害者在登录状态访问192.168.254.131/change.html的恶意url就会触发修改个人信息。
在这里插入图片描述
受害者登录
在这里插入图片描述

受害者访问
在这里插入图片描述
点击了此按钮就会修改个人信息
在这里插入图片描述

3、CSRF(token)

这一关抓数据包发现有个token验证是每修改一次个人信息都会有随机的token值,导致攻击者不好伪造用户的数据包。
在这里插入图片描述

四、CSRF漏洞防御措施

1、验证请求的referer值

看看referer是不是自己的域名,而不是其他域名。

2、设置token随机值

不让攻击者伪造出用户正确的token值。

总结

CSRF漏洞如果要寻找此漏洞可以在有表单的地方抓包修改referer值看看能不能成功,找没有token值的地方测试。CSRF漏洞利用也有很大的缺陷,得在用户登录状态下,浏览器有用户的cookie然后访问攻击者恶意url。这些条件缺一不可。有人会把xss与csrf搞混淆,xss漏洞是攻击者把js代码插入web界面诱导用户点击,从而获取用户的cookie,然后进行登录用户篡改信息。xss是能直接知道用户cookie信息的。而csrf是利用用户的cookie帮助攻击者去篡改用户信息,并不能获取用户的cookie值。此文章是小白自己为了巩固csrf攻击而写的,大佬路过请多指教!

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

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

相关文章

Netty 介绍、使用场景及案例

Netty 介绍、使用场景及案例 1、Netty 介绍 https://github.com/netty/netty Netty是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可扩展的网络服务器和客户端。它是一个开源项目,最初由JBoss公司开发,现在由社区维护。Netty的…

如何实现网页当前页面刷新功能

类似于这样的页面 实现思路如下: 首先我们在pinia中定义一个刷新状态的字段,点击按钮的时候,改为相反的值对主页面的路由跳转Router-view绑定一个v-if,它绑定一个自定义的一个响应的参数,我们在主页面监听pinia的刷新状态数据&am…

俩万字详解C++STL期末复习知识点(C++STL课本源码私信可得)

邸老师复习建议 复习注意事项 1 不考死记硬背的题,比如名词解释。 2 选择题重点考核宏观性、综合性的问题,比如:把电话通讯录存入容器,该选哪一个容器? 3 选择题重点考核理解性的问题,比如,…

php内置函数-文件包含的函数

目录 1.include 2.require 3.include_once 4. require_once 1.include 可以将别的文件直接引用过来(被引用的文件含有打印代码的话,会直接打印),如果失败了,会返回一条警告,文件会继续执行下去&#…

【100个 Unity实用技能】☀️ | UGUI中 判断屏幕中某个坐标点的位置是否在指定UI区域内

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 &…

Python如何对csv文件进行操作

csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是: No.,Name,Age,Score1,mayi,18,99 2,jack,21,89 3,tom,25,95 4,rain,19,80 假设上述csv文件保存…

逆变器简述

一般家用电器,像微波炉,电饭煲等都是直接插墙壁上的电就可以工作,所以这些家用电器是使用我们市电AC220V的电压 但我们用到的手机,电瓶车以及新能源汽车都是需要充电器的,所以这些用电产品里面都是有电池的&#xff0…

软件测试|Selenium 元素不可交互异常ElementNotInteractableException问题分析与解决

简介 在使用 Selenium 进行 Web 自动化测试时,我们可能会遇到各种异常情况。其中之一就是 ElementNotInteractableException 异常,这通常意味着在尝试与页面元素交互时出现了问题。本文将详细介绍这个异常的原因、可能的解决方法,并提供示例…

C#~Winform取消窗体最大化最小化按钮

目录 取消最大化-false取消最小化-false效果 取消最大化-false 取消最小化-false 效果

宏景eHR 多处 SQL注入漏洞复现

0x01 产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合,满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景eHR view、trainplan_tree.jsp等接口处存在SQL注入漏洞,未经过身份认证的远程攻击者可利用此漏洞执行任意SQL指令,从而窃…

训练营第四十二天 | 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集

01背包问题 二维 代码随想录 dp二维数组 优化 01背包问题 一维 代码随想录 dp一维数组 416. 分割等和子集 把数组分成总和相等的两份,如果数组总和为奇数,不能分割,若有符合的数组子集,返回true 代码随想录 class Solution {p…

最佳解决方案:如何在网络爬虫中解决验证码

Captcha(全自动区分计算机和人类的公开图灵测试)是广泛应用的安全措施,用于区分合法的人类用户和自动化机器人。它通过呈现复杂的挑战,包括视觉上扭曲的文本、复杂的图像或复杂的拼图等方式,要求用户成功解决这些挑战以…

Java版企业电子招投标系统源代码,支持二次开发,采用Spring cloud技术

在数字化时代,采购管理也正经历着前所未有的变革。全过程数字化采购管理成为了企业追求高效、透明和规范的关键。该系统通过Spring Cloud、Spring Boot2、Mybatis等先进技术,打造了从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通过…

苹果内购记录

最近整了一把苹果内购集成,记录一波。 1. 准备事项 苹果开发者账号苹果appstoreconnect 认证(付费)付款信息提供一个账号给开发配置内购产品信息:名称和价格这些属性 嘿嘿,以上这些事情统统交给产品。如果没有产品&…

使用 EmbeddingBag 和 Embedding 完成词嵌入

🍨 本文为[🔗365天深度学习训练营学习记录博客\n🍦 参考文章:365天深度学习训练营\n🍖 原作者:[K同学啊 | 接辅导、项目定制]\n🚀 文章来源:[K同学的学习圈子](https://www.yuque.co…

索引策略-多列索引

一. 前言 当我们对多列索引的理解不够深刻的时候,往往会为每个列创建独立的索引或者按照错误的顺序创建多列索引。 二. 案例说明 问题一: 为每个列创建独立索引 CREATE TABLE t(c1 INT,c2 INT,c3 INT,KEY(c1),KEY(c2),KEY(c3) );这种索引策略,一般都是由于人们听到一些专家诸…

uniapp h5 发行后 微信第二次打开网址 页面白屏

发行后把网址给客户,第一次可以正常登录打开,第二次打开白屏 原因:第一次打开时没有token,所以跳转登录页,可以正常访问 第二次打开时有token,但是网址根目录没有配置默认页面,所以白屏 解决…

SAP PI之MessageMapping

下图是ESR配置中各种对象的关联关系,注意OperationMapping和MessageMapping的方向性 MsgMapping是两个MassageType之间的关系,用于ServiceInterface的OperationMapping中发送和接收方在Request和Response结构之间的映射,如果ServiceInterface…

他们说 GPT Store 像应用商店,我却看到了微信小程序的影子

List item 昨天,GPT Store 终于上线。 早在 2023 年 11 月的开发者大会上,Sam Altman 就已经对外介绍了 GPT Store,随后而来的内部「宫斗」显然拖慢了 GPT 商店「剪彩挂牌」的进度。但这段时间以来,GPTs 的热度并未消退&#xf…

怎么批量修改照片尺寸?这些软件帮你轻松搞定

怎么批量修改照片尺寸?对于需要进行大量照片尺寸修改的用户来说,手动一张一张调整不仅效率低下,而且还可能会造成精度和质量上的损失。这时,一款好的批量修改照片尺寸软件就显得尤为重要。有许多优秀的软件可以满足这一需求&#…