CTF下加载CTFtraining题库以管理员身份导入 [HCTF 2018]WarmUp,之后以参赛者身份完成解题全过程

news2024/11/25 15:48:06

-------------------搭建CTFd------------------------------

给大家介绍一个本地搭建比较好用的CTF比赛平台:CTFD。

CTFd是一个Capture The Flag框架,侧重于易用性和可定制性。它提供了运行CTF所需的一切,并且可以使用插件和主题轻松进行自定义。

官方网站:https://ctfd.io/

github地址:https://github.com/CTFd/CTFd

 以下是我在 Ubuntu22下安装CTFD的整个过程;

1、安装git

sudo apt install git

2、安装pip

sudo apt install python-pip

3、安装Flask

sudo pip install Flask

4、克隆CTFd

sudo git clone https://github.com/CTFd/CTFd.git

4、安装CTFd

 sudo cd /usr/local/CTFd/
sudo pip install -r requirements.txt

5、启动CTFd

sudo python3 serve.py

6、现在浏览器去打开“http://127.0.0.1:4000/”已经正常了,需要我们先注册一个账号。

7、去CTFd放题目

创建一个管理员账号后,然后点击右上角 Admin -> Challenge 一直添加即可,第一个是名字,这里是我其中一个题目的编辑状况,这个平台是可以用Markdown来编辑题目的。

去CTFd放题目

CTFD本身是没有任何CTF比赛题库的,我们需要先自己用docker搭建CTF赛题docker搭建CTF赛题,然后再加入到CTFD这个框架里面去。

-------------------导入CTFtraining题库------------------------------

CTFTraining:https://github.com/CTFTraining/CTFTraining

2.1准备工作:安装docker ,如果没安装curl使用apt install curl把curl安装一下

# 安装PIP
curl -s https://bootstrap.pypa.io/get-pip.py | python3

#安装最新版本的docker 
curl -s https://get.docker.com/ | sh

# 运行docker服务
service docker start

# 安装docker compose
pip install docker-compose

2.2CTF赛题环境

注意:CTFTraining的CTF名字规则是:比赛名称_年份_题目类型_题目名称_其他;

有不懂的请看某一个CTF赛题的 README.md 文件;

1)拉取CTFTraining项目

git clone https://github.com/CTFTraining/CTFTraining.git

 如果拉取下来的文件夹为空,就一个一个的拉吧或者一个一个下载!有点麻烦,目前没找到好办法,有好办法的麻烦告诉一下我。

 

2)启动某一个CTF赛题环境

这里我以[HCTF 2018]WarmUp为例:

GitHub - CTFTraining/hctf_2018_warmup: hctf_2018_warmup为例子,

进入到hctf_2018_warmup文件夹执行docker-compose up -d

3、浏览器打开 http://127.0.0.1:8081/ 界面如下:

 

此处的 http://127.0.0.1:8081/  每条题目ip端口

不一样,需要在docker-compose.yaml文件中查看

--------------------------------做题------------------------------

查看页面源代码,发现一个注释

中有source.php文件

访问source.php,可以看到以下源代码,并进行分析:

包含hint.php时给出提示,flag在ffffllllaaaagggg文件中 

分析发现在第一个mb_substr进行校验时,就可以绕过获取flag了,我们只需要在source.php后面添加一个?,然后将截取的字符串赋值到$_page进行校验,然后利用…/退回上级目录包含flag。

在网址后输入source.php?file=source.php?/../../../../ffffllllaaaagggg

具体视频见:

CTF下加载CTFtraining题库以管理员身份导入 [HCTF 2018]WarmUp,之后以参赛者身份完成解题全过程_哔哩哔哩_bilibili

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

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

相关文章

二分图、匈牙利算法

目录 一,二分图 CodeForces 687A NP-Hard Problem 力扣 785. 判断二分图 二,完全二分图 1,完全二分图 2,K2,3 3,K3,3 三,匈牙利算法 1,二分图最大匹配 2,其他图论问题 一&…

交易所上币:区块链项目上线交易所流程

一、了解交易所/申请上币 在区块链项目上线交易所之前,首先需要对交易所进行充分的了解,包括交易所的基本信息、交易规则、飞BTC5186上币标准等。还需要了解交易所的申请上币流程,以便为后续的操作做好准备。 1.1 选择合适的交易所 在众多的交易所中 飞(BTC5186),如何选择一个…

NineData云原生智能数据管理平台新功能发布|2024年3月版

数据库 DevOps - 大功能升级 SQL 开发早期主要提供 SQL 窗口(IDE)功能,在产品经过将近两年时间的打磨,新增了大量的企业级功能,已经服务了上万开发者,覆盖了数据库设计、开发、测试、变更等生命周期的功能…

EVM Layer2 主流解决方案

深度解析主流 EVM Layer 2 解决方案:zk Rollups 和 Optimistic Rollups 随着以太坊网络的不断演进和 DeFi 生态系统的迅速增长,以太坊 Layer 2 解决方案日益受到关注。 其中,zk Rollups 和 Optimistic Rollups 作为两种备受瞩目的主流 EVM&…

Springboot自动获取接口实现

ServiceLoader加载接口实现步骤 1.编写接口 public interface CommunicationAdapterFactory {void setKernel(LocalKernel kernel);boolean providesAdapterFor(Vehicle vehicle);BasicCommunicationAdapter getAdapterFor(Vehicle vehicle); }2.编写实现 // 实现类 1 publi…

Golang Gin框架

1、这篇文章我们简要讨论一些Gin框架 主要是给大家一个基本概念 1、Gin主要是分为路由和中间件部分。 Gin底层使用的是net/http的逻辑,net/http主要是说,当来一个网络请求时,go func开启另一个协程去处理后续(类似epoll)。 然后主协程持续…

利用Winform实现文字滚动(仅供参考)

本人水平有限,如有写得不对的地方,望指正。为了简单化,做了一个简陋版的滚动控件。本文的内容仅供参考 测试环境: visual studio 2017 .net framework 4.0 原理非常简单: 1 先自定义一个继承UserControl的控件&am…

item_search-按关键字搜索淘宝商品:如何通过获取以下关键字、搜索类型、排序方式参数提升用户体验、优化营销策略、提高转化率

在淘宝购物的过程中,搜索功能无疑是用户与商品之间的重要桥梁。通过输入关键字,用户可以迅速找到所需的商品,而搜索结果的准确性和相关性则直接关系到用户的购物体验和满意度。因此,如何通过优化关键字、搜索类型和排序方式参数&a…

element-ui tableData导出为xlsx文件

下载 npm i / yarn add file-saver、xlsx库 引入 import FileSaver from “file-saver”; import XLSX from “xlsx”; const simexport (data) > {// if (data.create_time && data.create_time.length > 0) {// data.start_time parseTime(data.create_tim…

Python实现【贪吃蛇大作战】+源码

文章目录 前言:一、游戏概述1.游戏玩法2.游戏特色 二、游戏规则三、工具选择四、主要技术pygame 库numpy 库cocos2d 五、源码分享六、项目地址 前言: 今天的GitHub小游戏分享,我们将聚焦于一个经典而又极富趣味性的游戏——贪吃蛇大作战。这…

Linux 桌面系统软件安装

我工作出来后一直是使用的 ubuntu 操作系统作为办公和娱乐。 主要的操作系统周边任务,代码编辑与编译环境,浏览网页, 文档处理, 多媒体操作这些没问题。 目前主要的矛盾点就是微信, 不过平时有手机能够处理&#xff0c…

线上线下陪玩,APP小程序H5。源码交付,支持二开!

线下陪玩的风险与管理方式 1、陪玩者的身心健康风险 线下陪玩的模式决定了陪玩者需要与不同的需求方见面,并满足他们的陪伴和娱乐需求。这种工作方式可能会给陪玩者带来身心上的压力和负担。因为陪玩者需要面对各种需求方的要求,有时还需要虚拟出一种完…

最新在线工具箱网站系统源码

最新在线工具箱网站系统源码 图片:最新在线工具箱网站系统源码 - 百创网-源码交易平台_网站源码_商城源码_小程序源码

LC 107.二叉树的层序遍历II

107. 二叉树的层序遍历 II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入: root [3,9,20,null,null,15,7] 输出…

LeetCode_394(字符串解码)

双栈法 public String decodeString(String s) {String res "";Stack<Integer> countStack new Stack<>();Stack<String> resStack new Stack<>();int idx 0;while (idx < s.length()){char cur s.charAt(idx);//处理数字if(Charact…

2024最新软件测试【测试理论+ 抓包与网络协议】面试题(内附答案)

一、测试理论 3.1 你们原来项目的测试流程是怎么样的? 我们的测试流程主要有三个阶段&#xff1a;需求了解分析、测试准备、测试执行。 1、需求了解分析阶段 我们的 SE 会把需求文档给我们自己先去了解一到两天这样&#xff0c;之后我们会有一个需求澄清会议&#xff0c; …

消息存储与同步策略设计

消息存储与同步策略 https://github.com/robinfoxnan/BirdTalkServer 思路&#xff1a; 私聊写扩散&#xff0c;以用户为中心&#xff0c;存储2次&#xff1b;群聊读扩散&#xff0c;以群组为中心&#xff0c;存储一次&#xff1b;scylladb易于扩展&#xff0c;适合并发&…

idea2023.2.1 java项目-web项目创建-servlet类得创建

如何创建Java项目 1.1 方式1&#xff1a; 1.2 方式&#xff1a; 1.3 方式 如何创建web项目 方式 ----- 推荐 如何创建servlet类 复制6 中得代码 给servlet 配置一个路径 启动tomcat 成功了

AHKC系列霍尔电流传感器的选型及应用

安科瑞电气股份有限公司 祁洁 15000363176 一、霍尔传感器分类 01:开口式开环 02:闭口式开环 03:霍尔变送器 04:霍尔闭环 05:直流电压 06:直流漏电流 二、各类霍尔传感器 1、开口式开环霍尔 &#xff08;1&#xff09;精度1级 &#xff08;2&#xff09;成本低可…

物联网实战--入门篇之(四)嵌入式-UART驱动

目录 一、串口简介 二、串口驱动设计 三、串口发送 四、串口接收处理 五、PM2.5数据接收处理 六、printf重定义 七、总结 一、串口简介 串口在单片机的开发中属于非常常用的外设&#xff0c;最基本的都会预留一个调试串口用来输出调试信息&#xff0c;串口时序这里就不谈…