Pikachu 靶场 CSRF 通关解析

前言

Pikachu靶场是一种常见的网络安全训练平台,用于模拟真实世界中的网络攻击和防御场景。它提供了一系列的实验室环境,供安全专业人士、学生和爱好者练习和测试他们的技能。

Pikachu靶场的目的是帮助用户了解和掌握网络攻击的原理和技术,同时提供实践机会来开发和改进网络防御策略。靶场内的网络环境是虚拟的,用户可以通过远程访问来完成各种任务。这些任务可能包括渗透测试、漏洞利用、密码破解、网络侦查、恶意软件分析等。

Pikachu靶场提供了多个不同的实验室环境,以满足不同的训练需求。每个实验室环境都有不同的难度级别和目标,用户可以选择适合自己技能水平的实验室来进行训练。平台还提供了一系列的学习材料和指导,以帮助用户理解每个实验室的背景知识和解决方案。

通过在Pikachu靶场进行训练,用户可以提高自己的网络安全技能,了解常见的攻击技术和漏洞,并学习如何防御和保护网络。这对于网络管理员、渗透测试人员和安全研究人员来说都是非常有价值的。

总而言之,Pikachu靶场是一个提供实践机会的网络安全训练平台,旨在帮助用户提高网络安全技能和知识。它是一个非常有用的资源,可以帮助用户更好地应对日益增长的网络安全威胁。

介绍

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种常见的Web应用程序安全漏洞,它允许攻击者在用户不知情的情况下以受害者的身份执行未经授权的操作。

CSRF攻击利用了Web应用程序对用户的信任。攻击者通过诱使用户访问恶意网站或点击恶意链接,使受害者在已登录的状态下访问目标网站。然后,攻击者利用受害者的身份在目标网站上执行恶意请求,例如转账、更改密码或删除数据。

以下是CSRF攻击的一般工作流程

        1. 受害者登录:受害者在目标网站上进行登录,并获得有效的会话凭证。

        2. 攻击者构造恶意请求:攻击者在恶意网站上构造一个包含目标网站请求的恶意请求,例如转账请求。

        3. 诱使受害者访问恶意请求:攻击者通过各种手段诱使受害者访问恶意网站,例如通过发送钓鱼邮件、社交媒体诱导等。

        4. 自动执行恶意请求:由于受害者在目标网站上已经登录,浏览器会自动发送恶意请求,并在受害者不知情的情况下执行。

为了防止CSRF攻击,可以采取以下一些防御措施

        1. 随机令牌:在每个表单提交或敏感操作中,为用户生成一个随机的、单次使用的令牌(CSRF Token)。在提交请求时,验证令牌的有效性,确保请求来源于合法的用户会话。

        2. SameSite Cookie属性:使用SameSite Cookie属性来限制Cookie在跨站请求中的发送,可以阻止许多CSRF攻击。

        3. 验证来源(Referer)头:通过验证请求的Referer头,确保请求来自合法的来源网站。但需要注意,Referer头并不是100%可靠,因为某些浏览器或代理可能会修改或删除该头。

        4. 双重身份验证(2FA):为用户提供双重身份验证机制,例如短信验证码、身份验证应用程序等,以增加账户安全性。

        5. 安全编程实践:开发人员应该遵循安全编程实践,包括对用户输入进行验证和过滤、使用适当的授权和身份验证机制等。

需要注意的是,CSRF攻击的影响范围取决于目标网站的功能和用户的权限。为了保护Web应用程序免受CSRF攻击,开发人员和网站管理员应该了解和实施适当的防御措施。

一、CSRF(get)

打开靶场点击提示给出了用户账号及密码

登录进去后可以看到一个修改个人信息 

打开 BurpSuite 抓包随便更改一个数值(如手机号更改为 120)

找到了更改的值,作为攻击者可以复制这条请求然后在另一个页面打开

例如构造一条将手机号改为 12315 的请求

访问后成功更改了手机号

那么就可以利用这条链接在第三方网站生成一个短链接诱导受害者去点击也可以使用 BurpSuite 专业版生成 CSRF Poc

二、CSRF(post)

同理登录进去然后点击修改个人信息

也是随便更改一个数值,然后打开 BurpSuite 抓包

找到了更改的值

因为是 POST 请求所以需要自己构造一个网页使其用户点击链接后通过表单提交实现 CSRF

BurpSuite 专业版可以直接生成 CSRF PoC 更方便)

<html>
<head>
<script>
window.onload = function() {document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://pikachu:8848/vul/csrf/csrfpost/csrf_post.php"><input id="sex" type="text" name="sex" value="girl" /><input id="phonenum" type="text" name="phonenum" value="12345678922" /><input id="add" type="text" name="add" value="hacker" /><input id="email" type="text" name="email" value="kobe@pikachu.com" /><input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>

需要将这段代码部署在攻击者服务器上诱导受害者点击即可

三、CSRF(token)

这一关增加了 Token,但还是有办法的

首先在 BurpSuite 中下载插件 CSRF Token Tracker

然后将包发送到重放模块(Repeater)

注意:同时开启跟随重定向

接着在 CSRF Token Tracker 模块中填写 Host 地址(可以参考数据包中的 Host 值)及 Token 的参数名称(也是参考数据包)然后勾选两个选项

注意:后面的值是成功后的 Token 值,刚开始是没有的

做好以上步骤后就可以在重放模块中随意更改参数了,例如:

性别:man

修改为性别 girl

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

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

相关文章

Day64|代码随想录二刷总结

大体感受 去年暑假跟着&#xff0c;回想起来半年多的时间内经历了不少变故&#xff0c; 更多的是心态上的变化。之前的一刷更多的是缓解没啥事做的焦虑&#xff0c;而二刷是在实习期间抽时间刷的&#xff0c;能做出来的题更多了&#xff0c;刷题的效果也更好。 刷题变化 最明…

如何通过二手机店ERP软件实现店铺经营效率最大化?

2024年&#xff0c;在科技高速发展的今天&#xff0c;手机批发和零售行业正在经历前所未有的改革。为了抓住这次机遇&#xff0c;提高竞争力&#xff0c;二手手机店需要找到一种全面、高效、智能的管理工具。鉴于此&#xff0c;超机商城为众多二手手机店的商家量身定制了一款专…

嵌入式C语言高级教程:实现基于STM32的面部识别系统

面部识别技术在安全和自动化领域越来越受到重视。本教程将指导您如何在STM32微控制器上使用OpenMV实现基本的面部识别功能。 一、开发环境准备 硬件要求 微控制器&#xff1a;STM32H743II&#xff0c;具备高性能处理能力和充足的存储资源。开发板&#xff1a;STM32H7 Discov…

恢复数据,电脑数据恢复详细操作指南(4个方法)

“我经常会把很多重要的文件都保存在电脑上&#xff0c;但今天在清理电脑时好像误删了一些数据&#xff0c;有没有比较好用的数据恢复方法可以分享一下呢&#xff1f;请大家给我推荐几个吧&#xff01;” 随着电脑的普及&#xff0c;我们越来越多地将重要数据存储在电脑中。然而…

Window安装OpenSSH客户端及服务

文章目录 引言I 给windows安装一个ssh服务1.1 下载对应的OpenSSH1.2 安装sshd服务1.3 开放22端口1.4 配置sshd服务自动启动1.5 验证ssh是否可用II 服务部署III 公钥登录 Windows OpenSSH Server3.1 生成公钥-私钥对,把公钥复制到目标机器的3.2 授予对AuthorizedKeysFile权限3.…

pdf2htmlEX:pdf 转 html,医学指南精细化处理

pdf2htmlEX&#xff1a;pdf 转 html&#xff0c;医学指南精细化处理 单文件转换多文件转换 代码&#xff1a;https://github.com/coolwanglu/pdf2htmlEX 拉取pdf2htmlEX 的 Docker&#xff1a; docker pull bwits/pdf2htmlex # 拉取 bwits/pdf2htmlex不用进入容器&#xff0c…

富格林:学习辨别虚假预防欺诈亏空

富格林悉知&#xff0c;对于市场发布的虚假欺诈案例&#xff0c;投资者可注意了解其中受骗原因&#xff0c;总结因对的策略应对避免受害亏损。市场是多变复杂的&#xff0c;如果只是学习刻板的套路方法&#xff0c;只能应对正常交易&#xff0c;对于一些诱导虚假便可能无法避免…

认识设计模式SOLID原则

SOLID 是一个缩写词&#xff0c;代表面向对象编程 (OOP) 的五个设计原则&#xff0c;旨在促进更简单、更健壮和可更新的代码。 SOLID 缩写中的每个字母都代表了开发易于维护和随时间扩展的软件的原则。 SOLID原则是面向对象编程和设计的五项基本指导原则&#xff0c;由罗伯特C…

VIM命令常用

一、启动vim 以:和/开头的命令都有历史纪录&#xff0c;可以首先键入:或/然后按上下箭头来选择某个历史命令。 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filename 打开vim并创建名为filename的文件 二、文件命令 打开单个文件vim file同时打开多个文件vim file1 …

用HAL库改写江科大的stm32入门例子_9-1 串口发送

设置串口&#xff1a; 选项说明&#xff1a; 写一个串口发送函数&#xff1a; // serial send string function void serial_send_string(char *str) {HAL_UART_Transmit(&huart1, (uint8_t *)str, strlen(str), 1000); } main函数中调用发送信息&#xff1a; uint8_t dat…

React 第二十五章 React.memo

React.memo 是 React 提供的一个高阶组件&#xff0c;用于对函数组件进行性能优化。 React.memo 的源码实际上就是返回一个 PureComponent 组件&#xff1a; function memo(FuncComp){return class Memo extends PureComponent{render(){return <>{FuncComp(this.props…

极致设计!详解专业网页设计的全套步骤和流程

在当今的数字时代&#xff0c;拥有一个专业、易于使用和有吸引力的网页对任何企业或个人都至关重要。专业的网页设计是实现这一目标的关键步骤之一。本文将详细介绍专业的网页设计步骤和过程&#xff0c;以帮助您了解如何设计一个优秀的网页。 在介绍专业网页设计步骤和流程之…

力扣:268. 丢失的数字(Java)

目录 题目描述&#xff1a;示例 1&#xff1a;示例 2&#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给定一个包含 [0, n] 中 n 个数的数组 nums &#xff0c;找出 [0, n] 这个范围内没有出现在数组中的那个数。 示例 1&#xff1a; 输入&#xff1a;nums [3,0,1]…

GPU术语

SP(Streaming Processor)流处理器 流处理器是GPU最基本的处理单元&#xff0c;在fermi架构开始被叫做CUDA core。 SM(Streaming MultiProcessor) 一个SM由多个CUDA core组成。SM还包括特殊运算单元(SFU)&#xff0c;共享内存(shared memory)&#xff0c;寄存器文件(Register …

GIS入门,不使用任何第三方库,纯JavaScript实现自定义多边形平滑曲线算法

前言 本章介绍一下不使用任何第三方库,纯JavaScript实现自定义多边形平滑曲线算法。 在此之前我们先了解一下几种多边形平滑算法。 在上一章中《常用的多边形平滑曲线算法介绍和JavaScript的多边形平滑曲线算法库chaikin-smooth的实现原理》,我们通过第三方库chaikin-smoo…

LeetCode热题100|动态规划Part.1|70.爬楼梯、118.杨辉三角、198.打家劫舍

70.爬楼梯 代码随想录原题&#xff0c;看这篇文章&#xff1a;C动态规划Part.1|动态规划理论基础、509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯 118.杨辉三角 题目链接&#xff1a;118.杨辉三角 一刷代码 时间复杂度和空间复杂度都造到 O ( n u m R o w s 2 ) O(num…

使用idea管理docker

写在前面 其实idea也提供了docker的管理功能&#xff0c;比如查看容器列表&#xff0c;启动容器&#xff0c;停止容器等&#xff0c;本文来看下如何管理本地的docker daemon和远程的dockers daemon。 1&#xff1a;管理本地 双击shift&#xff0c;录入service&#xff1a; …

C++算法题 - 二叉树层次遍历

目录 199. 二叉树的右视图637. 二叉树的层平均值102. 二叉树的层序遍历103. 二叉树的锯齿形层序遍历 199. 二叉树的右视图 LeetCode_link 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节…

Java性能优化(一):Java基础-ArrayList和LinkedList

引言 集合作为一种存储数据的容器&#xff0c;是我们日常开发中使用最频繁的对象类型之一。JDK为开发者提供了一系列的集合类型&#xff0c;这些集合类型使用不同的数据结构来实现。因此&#xff0c;不同的集合类型&#xff0c;使用场景也不同。 很多同学在面试的时候&#x…

自刷广告变现,APP收益如何提高

广告变现&#xff0c;是许多APP开发者和运营者追求的目标。然而&#xff0c;对于一些新手来说&#xff0c;如何进行广告变现&#xff0c;特别是如何去自刷广告变现&#xff0c;却是一个让人头疼的问题。实际上&#xff0c;只要在平台的规则内操作&#xff0c;自刷广告也是可以进…