pikache靶场通关——CSRF攻击

news2024/9/22 13:33:44

文章目录

  • 前言
  • 使用工具
  • 第一关(host:192.168.1.107)、CSRF(get) login
    • Step.1、以受害者身份登录账号
    • Step.2、以受害者身份点击修改个人信息的按钮
    • Step.3、以黑客身份使用burp进行抓包(查看对面修改格式)
    • Step4、以黑客身份生成一个恶意网页给用户来点击
    • Step5、以受害者身份点击了恶意网站的链接
  • 第二关(host:192.168.1.108)、CSRF(post) login
    • Step1、以受害者身份点击修改个人信息的按钮
    • Step2、以黑客身份使用burp进行抓包
    • Step3、以黑客身份生成一个恶意网页给用户来点击
    • Step4、以受害者身份点击了恶意网站的链接
  • 第三关(host:192.168.1.112)、CSRF Token login
    • Step1、以受害者身份点击修改个人信息的按钮
    • Step2、以黑客身份使用burp进行抓包
    • Step3、以黑客身份尝试对token进行绕过
    • Step4、以黑客身份攻击
  • 第三关(方法2,使用插件)、CSRF Token login
    • Step1、安装和配置csrf插件
    • Step2、以黑客身份进行抓包
    • Step3、以黑客身份配置攻击设置
    • Step4、查看结果


前言

在这里插入图片描述
靶场一共又三关,现在我们就来通关吧。


使用工具

Burp Suite Professional抓包工具


第一关(host:192.168.1.107)、CSRF(get) login

Step.1、以受害者身份登录账号

我这里选择了vince的身份登录
在这里插入图片描述
在这里插入图片描述

Step.2、以受害者身份点击修改个人信息的按钮

在这里插入图片描述
在这里插入图片描述
发现修改成功,URL也没有显示什么信息。

Step.3、以黑客身份使用burp进行抓包(查看对面修改格式)

对提交修改信息时候进行抓包
在这里插入图片描述

看到上面就是提交的get请求数据
从上面的url可见,修改用户信息的时候,是不带任何不可预测的认证信息的。那么,这里应该是可以被利用的。

把修改的get链接复制下来
http://192.168.1.107/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=%E5%A5%B3&phonenum=12345678900&add=%E6%9C%88%E7%90%83&email=hhhhh%40pikachu.com&submit=submit HTTP/1.1

然后就把包释放掉。

Step4、以黑客身份生成一个恶意网页给用户来点击

在这里插入图片描述
这里就修改了电话和邮箱2处

生成恶意网页让受害者点击
在这里插入图片描述

Step5、以受害者身份点击了恶意网站的链接

!注意:这里必须让受害者使用同一个浏览器,并且登录状态还在生效才有用

在这里插入图片描述
很明显手机号码和邮箱被修改了。第一关通关


第二关(host:192.168.1.108)、CSRF(post) login

在这里插入图片描述
继续选择登录vince的账号。
在这里插入图片描述

Step1、以受害者身份点击修改个人信息的按钮

在这里插入图片描述

Step2、以黑客身份使用burp进行抓包

在这里插入图片描述
观察报文,这里学上一关一样没有特殊的信息,可以被利用。

由于这一关是post提交了,无法学上一关那样直接使用URL来改参数。但抓包可知,这个表单的数据数量以及对应的字段名name,这就可以构造一个恶意表单网页来给用户点击。

Step3、以黑客身份生成一个恶意网页给用户来点击

在这里插入图片描述
在这里插入图片描述
献上代码:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title></title>
</head>
<body>
	<form action="http://192.168.1.108/pikachu/vul/csrf/csrfpost/csrf_post_edit.php" method="POST">
		<input type="hidden" name="sex" value="非人类">
		<input type="hidden" name="phonenum" value="10000000001">
		<input type="hidden" name="add" value="太空">
		<input type="hidden" name="email" value="myWord@pikachu.com">
		<input type="hidden" name="submit" value="submit" />
		<input type="submit" id="submit" value="Submit request" style="display: none;">
	</form>
</body>
<script type="text/javascript">
	window.onload = function(){
		document.getElementById("submit").click();
	}
</script>
</html>
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>美女写真</title>
</head>
<body>
<a href="./girl.php"><img src="https://up.enterdesk.com/edpic_source/56/ea/02/56ea02b3aa4d582ef244974b1d7c95ec.jpg" style="width: 200px;height: auto;" alt=""></a>
</body>
</html>

诱导客户点击恶意链接
在这里插入图片描述

Step4、以受害者身份点击了恶意网站的链接

!注意:这里必须让受害者使用同一个浏览器,并且登录状态还在生效才有用
在这里插入图片描述
可以看到信息已经被修改了,第二关通关


第三关(host:192.168.1.112)、CSRF Token login

在这里插入图片描述
继续选择vince的账号登录。
在这里插入图片描述

Step1、以受害者身份点击修改个人信息的按钮

在这里插入图片描述

Step2、以黑客身份使用burp进行抓包

在这里插入图片描述
观察一下报文,很明显多了一个token,关于token的解释,在前面暴力破解那一关已经有解析过,这里就不作过多的解释了。

Step3、以黑客身份尝试对token进行绕过

将请求包发送到Intruder模块,设置positions
在这里插入图片描述

攻击模式设置为Pitchfork,这里只把电话号码和token设置为了变量
在这里插入图片描述

设置电话号码的payload,这里就不使用字典了,直接随便指定一个号码段
在这里插入图片描述

下面这一步是关键,主要为了获取“上一次响应数据包”中的token值,在响应包中找到token值,规则添加成功
在这里插入图片描述

把token值选中,并且复制下来,然后点OK。
在这里插入图片描述

因为要重定向响应,这里设置为总是跟随重定向,选择always
在这里插入图片描述

返回设置Payload2,选择Recursive grep,刚才抓取的代码就自动过来了,把初始值填在下面,打个勾就行了。
在这里插入图片描述

因为需要提交token,所以不能使用多线程,需要把线程数改为1,使用单线程。
在这里插入图片描述

Step4、以黑客身份攻击

点击Start attack开始攻击。
在这里插入图片描述

返回网页查看攻击成果
在这里插入图片描述
这里可以看到手机变成上面最后一次攻击的值了。第三关通关


第三关(方法2,使用插件)、CSRF Token login

继续选择vince的账号登录。
在这里插入图片描述

Step1、安装和配置csrf插件

选择bp的 Extender 扩展模块,点击 BApp Store,找到 CSRF Token Tracker,点击 Install 进行安装
在这里插入图片描述

选中新安装的这个模块,配置请求地址和请求参数
在这里插入图片描述

Step2、以黑客身份进行抓包

在这里插入图片描述

Step3、以黑客身份配置攻击设置

把数据包发送到重发模块
在这里插入图片描述

就修改一下电话号码值
在这里插入图片描述

点击Send发送数据包
在这里插入图片描述

再点击上面的Follow redirection按钮,页面刷新如下
在这里插入图片描述
这里就可以看到手机号码改变了。

Step4、查看结果

返回查看插件
在这里插入图片描述

释放包,浏览器查看页面
在这里插入图片描述
发现电话号码已经被修改了,通关


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

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

相关文章

文件打包解包的方法

文件打包 前言 在很多情况下&#xff0c;软件需要隐藏一些图片&#xff0c;防止用户对其更改&#xff0c;替换。例如腾讯QQ里面的资源图片&#xff0c;哪怕你用Everything去搜索也搜索不到&#xff0c;那是因为腾讯QQ对这些资源图片进行了打包&#xff0c;当软件运行的时候解…

在SpringBoot中的Jackson使用笔记

在SpringBoot中的Jackson使用笔记 常用的java转json&#xff0c;json反序列化为java等方法&#xff0c;这里定义成一个工具类来用jackson package cn.ath.knowwikibackend.util;import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.Jso…

VRP基础操作

目录 一、华为VRP 1.1、VRP介绍 1.2、设备管理接口 1.3、Console口登录 1.4、参数配置 二、华为VRP命令行基础 2.1、真机设备初始化启动 2.2、命令行视图 2.3、命令行功能 2.4、命令行在线帮助 2.5、配置系统时钟 2.6、配置标题消息 2.7、命令等级 2.8、用户界面…

Apikit 自学日记:使用全局变量传递参数

全局变量可以在测试过程中动态取值以及赋值&#xff0c;比如&#xff1a;使用登录接口获取token&#xff0c;将token值赋值给自定义全局变量 global_token &#xff0c;然后在另一个需要使用该token的接口中&#xff0c;使用{{global_token}}或者代码来引用该全局变量&#xff…

基于深度学习的高精度水下目标检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度水下目标&#xff08;鱼&#xff08;fish&#xff09;、水母&#xff08;jellyfish&#xff09;、企鹅&#xff08;penguin&#xff09;、海鹦&#xff08;puffin&#xff09;、鲨鱼&#xff08;shark&#xff09;、海星&#xff08;starf…

<Windows>《UltraEdit 编辑器之正则表达式(高级查找与替换)》

《UltraEdit 编辑器之正则表达式&#xff08;高级查找与替换&#xff09;》 1 查找和替换时开启正则表达式2 正则表达式关键字3 常用操作3.1 替换空行3.2 替换行尾空格3.3 替换行首空格3.4 替换数字0-93.5 替换空格前内容3.5 替换空行或仅含有空格TAB键的行3.6 末尾加分号 4 其…

PostgreSQL入门教程

目录 一、PostgreSQL安装 1、下载 2、安装 二、PostgreSQL操作 1、数据库操作 2、表操作 3、数据操作 一、PostgreSQL安装 本章节以windows系统安装为例&#xff0c;讲解PostgreSQL 15.0的安装过程。 1、下载 访问PostgreSQL官方网站&#xff0c;下载对应的安装包&am…

phpstudy搭建网站,通过快解析端口映射外网访问

phpstudy是一款集成了apache、mysql、php、ftp等web平台的环境搭建工具&#xff0c;可以让用户轻松搭建测试和开发环境&#xff0c;且不必有过多的配置设置工作。使用phpstudy可以快速搭建出一个本地环境的网站&#xff0c;方便进行调试和开发工作。当然也可以快速搭建部署个人…

Antlr4 语法解析器(下)

Antlr4 的两种AST遍历方式:Visitor方式 和 Listener方式。 Antlr4规则文法: 注释:和Java的注释完全一致,也可参考C的注释,只是增加了JavaDoc类型的注释;标志符:参考Java或者C的标志符命名规范,针对Lexer 部分的 Token 名的定义,采用全大写字母的形式,对于parser rule…

VSCode配置Java环境 全程记录 配置成功| Windows

目录 1 配置电脑Java环境 1.1 下载jdk: 1.2 配置环境变量 1.3 测试Java环境 2. vscode中创建一个Java项目 2.1 创建一个项目根目录 2.2 配置插件 2.3 创建Java项目 1 配置电脑Java环境 1.1 下载jdk: ​​​​​​Java Download | 官网 下载完后双击运行该软件&#xff0c…

kafka入门,文件存储机制(十六)

文件存储机制 1、Topic数据的存储机制 topic是逻辑上的概念&#xff0c;而partition是物理上的概念&#xff0c;每个partition对应一个log文件&#xff0c;该log文件中存储就是Producer生产的数据。Producer生产的数据会不断追加到该log文件末端&#xff0c;为防止log文件过大…

用户标签画像如何建立?用户营销数字化系统推荐

什么是客户管理系统&#xff1f;如蚓链客户管理系统就是基于数字化技术手段&#xff0c;搭配客户标签、客户画像、客户跟进等机制的设计&#xff0c;从而构建可以记录、跟踪和管理公司客户的系统就属于客户管理系统。利用客户管理系统的一系列功能&#xff0c;公司可以真正了解…

Dependency ‘com.google.code.gson:gson:2.10.1‘ not found

当Maven依赖无法导入时&#xff0c;咱们如图操作File->Project Structure 这里输入指定包名之后记得要点击搜索按钮&#xff01;&#xff01;&#xff01; 最后根据搜索结果导入指定包名即可&#xff01; 最后&#xff0c;如果本文对您有帮助&#xff0c;可以给本文点个赞…

[前端]JS语法——检测数据类型typeof

typeof用于检测数据类型&#xff0c;返回以下基本的数据类型&#xff1a; number、string、boolen、undefined、function、object 注意&#xff1a; NaN检测结果为number; 对象、数组、null检测结果为object&#xff1b; 未定义的变量检测结果为undefined. <script>…

2023 中兴捧月算法挑战赛-自智网络-参赛总结

“中兴捧月”是由中兴通讯面向在校大学生举办的全球性系列赛事活动&#xff0c;致力于培养学生建模编程、创新、方案策划和团队合作能力。今年是在学校的宣传下了解到比赛&#xff0c;最初抱着学习的态度报名了比赛&#xff0c;最终进入了决赛&#xff0c;完成了封闭的开发与赛…

MySQL数据库基础(一):数据库安装和DataGrip安装

学习目录 数据库介绍 MySQL数据库安装和使用 SQL语句 DDL之数据库操作 DDL之表操作 DML数据库操作语言 SQL约束 DQL操作 多表操作 学习目标 掌握DDL操作 了解mysql的约束 掌握DML操作 掌握DQL操作 掌握多表联查 一、数据库概述 1、数据库介绍 数据库就是存储数据…

SpringBoot(原理篇)

SpringBoot原理篇 自动配置 bean加载方式 xml方式声明bean 相关类&#xff1a; domain域中的实体类&#xff1a; public class Mouse { }public class Cat { }public class Dog { }测试&#xff1a; public class App1 {public static void main(String[] args) {ClassP…

MyBatis学习笔记--下篇

MyBatis学习笔记–下篇 文章目录 MyBatis学习笔记--下篇1、多对一的处理(关联)1.1、表的创建1.2、实体类1.2、按照查询嵌套处理1.3、按照结果嵌套处理&#xff08;联表查询 &#xff09; 2、一对多的处理&#xff08;Collection&#xff09;2.1、实体类2.2、按结果查询&#xf…

《绝地求生》提示d3dcompiler_47.dll缺失怎么修复win11,三个简易的修复方法

在打开《绝地求生》游戏的时候&#xff0c;报错提示“由于找不到d3dcompiler_47.dll”&#xff0c;“d3dcompiler_47.dll缺失”等问题&#xff0c;都是由于电脑系统的中的d3dcompiler_47.dll文件丢失或者损坏了。d3dcompiler_47.dll 是 Microsoft 的 DirectX 11 核心组件之一&a…

彻底搞懂Linux中10位含义的文件权限以及修改文件权限

彻底搞懂Linux中10位含义的文件权限以及修改文件权限 1. 前言1.1 创建用户及简单权限问题1.2 抛出文件权限问题 2. 第二段&#xff08;连接数&#xff09;3. 第三段&#xff08;所属者&#xff09; 第四段&#xff08;所属组&#xff09;3.1 介绍Linux中的三种角色3.2 更改文件…