孩子还是有一颗网安梦——Bandit通关教程:Level 12 → Level 13

2023-12-15 04:36

本文主要是介绍孩子还是有一颗网安梦——Bandit通关教程:Level 12 → Level 13,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

🕵️‍♂️ 专栏《解密游戏-Bandit》

🌐 游戏官网: Bandit游戏

🎮 游戏简介: Bandit游戏专为网络安全初学者设计,通过一系列级别挑战玩家,从Level0开始,逐步学习基础命令行和安全概念。玩家需通过阅读信息、使用命令和解决问题来完成每个级别。在不清楚时建议查阅手册、使用内建命令或搜索引擎,旨在培养初学者的基本技能。

📖 博客说明: 本系列博客记录个人通关教程,一起探索网络安全的奇妙世界吧! 🚀

零、Level 12 → Level 13

游戏直通车->🚗 🚕 🚙

在这里插入图片描述

一、关卡解读

密码在data.txt文件里,data.txt文件是一个被多次压缩的文件的hexdump。

二、通关教程

首先解释下题目的意思,假设有个文件A,现在将其多次压缩为B,将其执行hexdump命令,得到data.txt文件。

所以,我们需要先反向的执行hexdump命令,得到B文件,然后再反复解压,得到A文件,得到密码。

hexdump命令可以将文件内容以十六进制、十进制、八进制以及ASCII码形式展示:
hexdump一般用来查看“二进制”文件的十六进制编码,所以data.txt文件里面的内容是B文件的十六进制编码:
cat查看data.txt,发现里面数据存在f,表面是十六进制:

在这里插入图片描述

所以,现在就需要先将其还原成二进制编码。查看hexdump命令的官方教程,并没有发现可以逆向的操作。

观察题目,题目中提到一个xxd命令,通过man xxd查看官方教程:

在这里插入图片描述

发现这个命令可以对hexdump文件做逆向操作。

由于游戏服务器权限设置,我们只能在/tmp文件夹中操作。

先随便创建一个属于我们自己的文件夹,/tmp/myownfile:

mkdir /tmp/myownfile

将data.txt复制到刚才创建的文件夹中:

cp data.txt /tmp/myownfile

在这里插入图片描述

cd到/tmp/myownfile中,方便后续操作。

通过xxd命令的-d操作,将十六进制编码文件转换为二进制编码文件:

在这里插入图片描述

执行xxd -b data.txt >> data_2.txt命令,将转换后的二进制编码文件保存到data_2.txt中。

在这里插入图片描述

通过file命令,查看data_2.txt的文件类型:

在这里插入图片描述
但是发现还是ASCII text文件,并不是我们想要的压缩文件。所以很可能是方向错了。

通过重新查看xxd的教程,发现一个-r命令,可以用于逆向hexdump的文件:

在这里插入图片描述
利用 xxd -r data.txt >> data_r.txt将hexdump后的data.txt逆向为data_r.txt,通过file命令,查看到,data_r.txt是gzip文件:

在这里插入图片描述

接下来就可以开始使用gzip命令解压了。

通过查看官方教程(man gzip),找到gzip命令的解压命令:

在这里插入图片描述
尝试解压:

在这里插入图片描述

发现后缀不对,通过cp命令,修改data_r.txt为data_r.gz,再次解压:

在这里插入图片描述

通过gzip -d data_r.gz解压后,data_r.gz变成了data_r。再次执行file命令查看data_r的类型:

在这里插入图片描述

发现现在data_r文件是bzip2类型了,我们修改data_r为data_r.bz2(cp data_r data_r.bz2)。接着,利用bzip2解压bzip2 -d data_r.bz2 -f。解压得到新的data_r文件:

在这里插入图片描述

发现又是一个gzip文件,重复前面的操作,解压。

在这里插入图片描述

这次解压后,是tar压缩文件了,修改后缀为.tar(cp data_r data_r.tar),然后解压(tar -xvf data_r.tar):

在这里插入图片描述
解压得到一个data5.bin文件,继续查看类型:

在这里插入图片描述

依然是tar文件,重复tar解压:

在这里插入图片描述

重复解压,最终得到密码:wbWdlBxEir4CaE8LaPhauuOo6pwRmrDw

在这里插入图片描述

Voila!,恭喜通关🎉🥳~

三、学习资料

推荐一个不错的Linux命令学习网站:Linux Tutorial

👨‍💻 关于我:我是zh4men9,一个曾经有过网安梦的孩子。如果你对我的学习经验和网络安全故事感兴趣,欢迎访问我的CSDN博客:CSDN博客。

📚 更多分享: 你还可以在我的知乎博客上找到我更多的观点和经验分享:知乎博客。

💻 GitHub链接: 如果你对我的项目和代码感兴趣,可以在我的GitHub上找到更多:GitHub链接。

这篇关于孩子还是有一颗网安梦——Bandit通关教程:Level 12 → Level 13的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/495131

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.