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

2023-12-13 19:57:52

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

🌐 游戏官网: Bandit游戏

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

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

零、Level 11 → Level 12

游戏直通车->🚗 🚕 🚙

在这里插入图片描述

一、关卡解读

密码在data.txt文件中,data.txt文件中的所有字母旋转了13个位置。

二、通关教程

ls,并cat查看data.txt:

在这里插入图片描述

题目提到字母都旋转(rotated)了13个位置,联想上一关解码后的内容(The password is XXX),可以想到有如下对应关系:

Gur -> The
cnffjbeq -> password
vf -> is

在这里插入图片描述
根据字母表,一一对照查看:

T 往后数13个字母 为 G(数到Z后,从A开始)
h 往后数13个字母 为 u
e 往后数13个字母 为 r

依此类推,可知将WIAOOSFzMjXXBC0KoSKBbJ8puQm5lIEi中每个字母反向数13个字母,即可得到真正的密码。

题目中提示可以使用tr命令,这个命令是针对字符进行处理的,可以通过man 命令查看tr命令的教程。

在这里插入图片描述

通过对tr命令的简单学习:https://www.runoob.com/linux/linux-comm-tr.html

发现可以通过如下方式,使小写字母转换成大写字母。
在这里插入图片描述

由此受到启发,可以自己构建转换的字符集,将前面的字符转换为后面的字符。本关卡需要将旋转13个位置的字母转换为旋转前的字母。经过一番推理,可以得到与a-z旋转13个位置前(根据字母表,往前数13个字母)对应的字母为n-za-m

简单解释下:

a-z表示:a,b,c,d,...z这个集合,有26个元素
n-za-m表示:n,o,p,q,...,z,a,b,c,d,...,m这个集合,也是26个元素。

同理,可以得到A-Z旋转13个位置前对应的字母为N-ZA-M

所以,执行如下代码cat data.txt | tr [a-zA-Z] [n-za-mN-ZA-M],即可得到密码:JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv

在这里插入图片描述

Voila!,恭喜通关🎉🥳~

三、学习资料

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

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

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

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

文章来源:https://blog.csdn.net/qq_32614873/article/details/134978627
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。