当前位置: 首页 > news >正文

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

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 点击链接,修改成功。


声明

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

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

相关文章:

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

CSRF(跨站请求伪造)概述 Cross-site request forgery 简称为“CSRF”&#xff0c;在CSRF的攻击场景中攻击者会伪造一个请求&#xff08;这个请求一般是一个链接&#xff09;&#xff0c;然后欺骗目标用户进行点击&#xff0c;用户一旦点击了这个请求&#xff0c;整个攻击就完成…...

智能工厂的软件设计 作为“程序Program”的中台 之2

Q11、现在&#xff0c;我们再重新理解一下前面所说&#xff1a;三种中台&#xff08;数据中台、技术中台和业务中台&#xff09;作为这个整体的三个整子Holon&#xff0c;合起来是一个 融合了三分法&#xff08; 三分部 的三个中台构成三段式 程序框架&#xff0c;分别用 <h…...

GB28181信令交互流程及Android端设备对接探讨

GB28181规范必要性 好多开发者在做比如执法记录仪、智能安全帽、智能监控等设备端视频回传技术方案选型的时候&#xff0c;不清楚到底是用RTSP、RTMP还是GB28181&#xff0c;对GB28181相对比较陌生&#xff0c;我们就GB28181规范的必要性&#xff0c;做个探讨&#xff1a; 实现…...

OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 视频写入器类。 该类提供了用于写入视频文件或图像序列的 C API。 cv::VideoWriter 类是 OpenCV 库中用于创建和写入视频文件的一个类。它提供了…...

c语言学习(书本目录)

关键字 变量 3.typedef的使用&#xff1a; 定义一个结构体&#xff0c;名字是Person&#xff1a; struct Person { char name[50]; int age; }; 给结构体取一个别名&#xff1a;struct Person---》Person typedef struct Person Person; 上面带标签的结构体等效于 …...

2024年最新版本神马TV8.5影视APP源码 293TV影视点播系统源码搭建教程 神马TV8.2加强版反编译教程 保姆级小白可搭建 完整版本视频教程

2024年最新版的神马TV影视APP源码&#xff0c;版本号8.5&#xff0c;提供了前所未有的定制化选项和高级功能。用户可以轻松更换应用的包名和名称&#xff0c;确保品牌个性化。此外&#xff0c;该应用采用了动态域名加密技术&#xff0c;增强了数据传输的安全性。它支持自动切换…...

衍生品交易的隐藏风险:认识CCR和xVA

作为一名资深的量化交易专家和金融自媒体人&#xff0c;我经常被问到&#xff1a;"衍生品交易真的像传说中那么危险吗&#xff1f;"这个问题背后&#xff0c;隐藏着许多投资者对金融市场的担忧和好奇。今天&#xff0c;让我们一起揭开衍生品交易中两个关键概念的面纱…...

我的项目管理生涯

1 前言 从好几年前就想写几篇关于自己职业生涯的文章了&#xff0c;一直由于各种原因没有写成&#xff0c;正好借新的工作机会&#xff0c;尤其是项目管理这段工作经历&#xff0c;计划通过这一二篇文章进行总结和反思一下&#xff0c;以期更顺利的开展相关工作或是自己能更上…...

ChatGPT Canvas:交互式对话编辑器

自两年前 ChatGPT 发布以来&#xff0c;主流 AI 均以对话形式进行交互。传统的对话式界面可以直观看到反馈结果&#xff0c;但在需要深度编辑和协作的项目中就略显局限。为了解决此问题&#xff0c;几个月前 Claude 就发布过 Artifacts 功能&#xff0c;用来拓展原有对话。而现…...

[Linux] Linux 的进程如何调度——Linux的 O(1)进程调度算法

标题&#xff1a;[Linux] Linux 的进程如何调度——优先级与进程调度 个人主页水墨不写bug 目录 一、前言 二、将要出现的概念 1.进程调度队列 2.位图 3.进程的优先级 三、Linux进程的调度过程 1.活动队列&#xff08;*active指向的队列&#xff09; 2.过期队列&#…...

Python使用Selenium动态爬取CSDN社区帖子的URL链接

前几天读了一篇CSDN社区的帖子&#xff0c;发现文章内容写得极好&#xff0c;值得借鉴学习。于是我想将那个社区的帖子都爬下来&#xff0c;但是那个社区发布的贴子挺多的&#xff0c;一直往下拉才到2022年5月的发布。于是我就只将5月份之前的爬下来就行&#xff0c;但是帖子是…...

【ShuQiHere】双系统指南:如何在 Linux 系统情况下安装 Windows 11,处理引导与网络问题 ️

【ShuQiHere】 &#x1f5a5;️&#x1f4a1; 在安装 Windows 11 和 Linux 双系统时&#xff0c;常常会遇到各种棘手的问题&#xff0c;特别是在网络连接、BIOS 设置和引导修复方面。今天我将详细带你解决这些问题&#xff0c;让你顺利完成 Windows 11 安装&#xff0c;并恢复…...

jQuery EasyUI 扩展

jQuery EasyUI 扩展 引言 jQuery EasyUI 是一个流行的 HTML5 框架,用于构建交互式网页界面。它提供了一系列的 UI 组件,如布局、窗口、数据网格等,使得网页开发变得更加简单快捷。然而,尽管 EasyUI 功能丰富,但在某些特定场景下,开发者可能需要更多的定制化功能或组件。…...

408算法题leetcode--第24天

#378. 有序矩阵中第 K 小的元素 378. 有序矩阵中第 K 小的元素思路&#xff1a;值二分&#xff0c;如注释时间&#xff1a;O(log(r-l) * n)&#xff1b;空间&#xff1a;O(1) class Solution { public:int check(vector<vector<int>>& matrix, int target){/…...

【CKA】二、节点管理-设置节点不可用

2、节点管理-设置节点不可用 1. 考题内容&#xff1a; 2. 答题思路&#xff1a; 先设置节点不可用&#xff0c;然后驱逐节点上的pod 这道题就两条命令&#xff0c;直接背熟就行。 也可以查看帮助 kubectl cordon -h kubectl drain -h 参数详情&#xff1a; –delete-empty…...

STM32中断编程指南:NVIC和中断优先级

在STM32微控制器编程中&#xff0c;中断是实现多任务处理和实时响应的关键技术。NVIC&#xff08;Nested Vectored Interrupt Controller&#xff09;是STM32中的中断控制器&#xff0c;负责管理中断请求、优先级和中断向量。本文将详细介绍STM32的NVIC配置和中断优先级设置&am…...

ThreadLocal底层原理及数据结构详解

ThreadLocal允许为每个线程创建独立的变量副本&#xff0c;使得同一个ThreadLocal对象在不同的线程中拥有不同的值。它的主要作用是在并发环境下提供线程隔离&#xff0c;避免多个线程共享同一个变量&#xff0c;从而减少线程间的相互干扰。 ThreadLocal的核心在于为每个线程维…...

Android Framework AMS(02)AMS启动及相关初始化5-8

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节主要涉及systemserver启动AMS及初始化AMS相关操作。同时由于该部分内容过多&#xff0c;因此拆成2个章节&#xff0c;本章节是第二章节&…...

速盾:游戏被攻击怎么办?

随着游戏行业的发展&#xff0c;游戏被攻击的情况也越来越多见。游戏被攻击可能导致游戏服务器崩溃、用户数据泄露、游戏体验受影响等问题。作为游戏开发者或运营商&#xff0c;面对游戏被攻击的情况&#xff0c;应该采取一系列的措施来应对。 首先&#xff0c;要及时发现游戏…...

BUU刷题-Pwn-shanghai2018_baby_arm(ARM_ROP_csu_init,ARM架构入门)

解题思路&#xff1a; 泄露或修改内存数据&#xff1a; 堆地址&#xff1a;无需栈地址&#xff1a;无需libc地址&#xff1a;无需BSS段地址&#xff1a;无需 劫持程序执行流程&#xff1a;ARM_ROP && mprotect函数(运行内存权限修改) && [[ARM_ROP_csu_init]…...

ClaudeCodeOpenAI Token免费使用

2000万claude ops4.7 以及openai gpt5.5 token免费使用apikey贴在这里了:ops4.7sk-119f6d1b81af70e6018f5cf6eb6309261857c98a22280f27345a073c12560e2fgpt5.5sk-b013d9140497d3c7af94459a41f189e4013994f1fe8bac3d5a839e4bcf4413a9使用指南和文档在apikeyfun.com...

紧急!你的灵感工作流正在被Perplexity范式淘汰:3个信号预警+2天迁移 checklist(含Prompt审计表)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;紧急&#xff01;你的灵感工作流正在被Perplexity范式淘汰&#xff1a;3个信号预警2天迁移 checklist&#xff08;含Prompt审计表&#xff09; 当你反复修改同一个提示词却仍得不到结构化输出&#xff0c;当团…...

体验 Taotoken 官方价折扣活动对个人开发者月度支出的实际影响

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验 Taotoken 官方价折扣活动对个人开发者月度支出的实际影响 作为一名独立开发者&#xff0c;我日常需要调用多种大模型 API 来完…...

MATLAB实战:从SSE到R方,手把手教你用误差指标评估预测模型

1. 为什么需要误差指标&#xff1f; 在数据分析和预测建模中&#xff0c;我们经常需要评估模型的预测效果。想象一下&#xff0c;你开发了一个房价预测模型&#xff0c;输入房屋面积、地段等信息后&#xff0c;模型会输出预测价格。但你怎么知道这个预测准不准呢&#xff1f;这…...

构建多模型备援策略以提升企业级 AI 应用可靠性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 构建多模型备援策略以提升企业级 AI 应用可靠性 在构建企业级 AI 应用时&#xff0c;服务的稳定性与可靠性是核心考量之一。单一模…...

初创公司利用taotoken token plan在ai原型开发期控制成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初创公司利用 Taotoken Token Plan 在 AI 原型开发期控制成本 对于一家处于产品原型快速迭代阶段的 AI 初创公司而言&#xff0c;技…...

Hi3861点灯程序背后的构建系统:手把手教你修改BUILD.gn文件,定制你的第一个鸿蒙应用

Hi3861开发实战&#xff1a;深入鸿蒙构建系统与GN脚本定制指南 当LED灯在Hi3861开发板上第一次亮起时&#xff0c;很多开发者会认为这只是一个简单的GPIO控制实验。但鲜为人知的是&#xff0c;这个看似简单的"点灯"动作背后&#xff0c;隐藏着鸿蒙轻量设备开发中最核…...

保姆级教程:用Node-RED把传感器数据传到ThingsBoard仪表盘(MQTT全流程)

从零构建物联网数据可视化&#xff1a;Node-RED与ThingsBoard的实战融合 在智能家居、工业监测等物联网场景中&#xff0c;如何将物理世界的传感器数据转化为直观的可视化图表&#xff1f;本文将手把手带您完成从硬件数据采集到云端展示的完整链路实现。不同于单纯的理论讲解&a…...

K8s安全加固实战:认证、授权、网络策略三维度解读

前言 Kubernetes已成为企业云原生基础设施的标准&#xff0c;但默认配置下的K8s集群存在诸多安全隐患。攻击者利用配置缺陷入侵集群后&#xff0c;可横向扩展到整个基础设施。本文从认证&#xff08;Authentication&#xff09;、授权&#xff08;Authorization&#xff09;、*…...

知识库搭建:从认知到实践的完整指南

知识库搭建&#xff1a;从认知到实践的完整指南一、先搞清楚&#xff1a;什么是知识&#xff1f; 数据 → 信息 → 知识 → 智慧 是经典的 DIKW 金字塔&#xff0c;描述了认知逐层升维的过程&#xff1a;层级核心定义关键特征回答的问题示例数据原始事实&#xff0c;raw facts离…...