🕵️♂️ 专栏《解密游戏-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链接。