Bandit wargame个人闯关记录上(1-10)

Bandit wargame闯关记录

Level 0 —— Level 1

主要告诉我们如何SSH连接登陆服务器。

这里我用的是FinalShell,输入好信息,勾上海外加速,开始做题:

在做了几关之后发现每次进入下一个level都要修改用户名后面的数字,不然密码会匹配不上。

进入第一关的密码就在用ls可以看到的一个名为readme的文件中,用命令【cat readme】可以查看并进入下一关。

Level 1 —— Level 2

根据任务提示我们可以知道,下一关的密码就在home/bandit1里面。可以看到里面的文件有一个名为-的,如果我们用指令【cat -】的话,-不会被识别为名称。所以我们使用【cat ./-】来表示查看此文件夹下的-文件:

Level 2 —— Level 3

进入level2,ls找文件,发现一个文件名字中带有空格,如果我们直接cat文件名的话是打不开的,因为空格会使系统认为这是四个不同的文件而非同一个文件:

如果我们想要访问这样的一个文件,可以先Google一下"spaces in filename",然后就学会了新技能:

  1. 使用引号:

看起来单双都可

  1. 使用反斜杠\来表达原有意思:

Level 3 —— Level 4

任务目标:找出隐藏在inhere文件夹下的文件

Linux中隐藏文件用的是在文件名前加. ,而我们使用【ls -a】可以显示所有文件,包括隐藏的文件。

Level 4 —— Level 5

任务要求中提到了"human—readable",经过ls之后,看到很多的文件,我这里一个一个打开,其中一个文件里面存着下一关的密码:

也可以用【file】命令来识别文件,【file ./*】将所有文件的格式显示出来。

Level 5 —— Level 6

密码藏在inhere文件夹中,是一个人类可读文件,有1033字节,不可执行。

Inhere文件中有好多个文件夹,一个一个效率过于低下,这里我们使用【find】命令

【find -type f -size 1033c】

找到文件,进入:

Level 6 —— Level 7

仍然使用find指令,不过这次要在全局范围寻找:

【find / -user bandit7 -group bandit6 -size 33c 2>/dev/null】

-user用户

-group 组

2>/dev/null 是将所有的错误信息扔进黑洞。2是错误信息,如果回显到显示屏上会影响我们的寻找结果。

Level 7 —— Level 8

接下来的密码藏在data.txt中,而这个密码在单词millionth旁边。

如果我们直接打开data.txt,那么会看到铺天盖地的各种密码。

跑上一会也不一定跑的完。

所以这里明显是需要我们在文件中查找特定信息的指令。

【grep】命令用来查找文件中符合条件的特定字符串

| 管道符,可以将前面的正确输出做为后面的输入,需要注意的是后面只接受正确的输出。

Level 8—— Level 9

下一关的密码在data.txt中只出现一次的行中。

但是不能只用uniq命令,因为uniq命令是通过比较上下两行是否相同得出结果的。

在使用uniq之前我们需要先用sort进行一次排序。

Level 9—— Level 10

下一关的密码在data.txt中,但是是分散的,以"=“开头。

直接打开data.txt是一堆乱码

参考网上资料,找到了strings这个神奇的指令,它主要用来提取和显示非文本文件中的文本字符串,比如在对象文件或二进制文件中查找可打印的字符串。

通过组合cat和strings【cat data.txt | strings】,得到:

通过1-10能学到什么:

  1. 学会XSS连接

  2. 最基本的cat打开文件指令,包括打开一些文件名很奇怪的文件(如以. – 开头,文件名中有空格等)

  3. ls 和部分参数的使用

  4. file 识别文件格式

  5. find 寻找特定的文件

  6. 2>/dev/null 扔掉错误提示,知道了"黑洞"的存在

  7. | 管道符的初步了解

  8. grep 查找文件中符合条件的特定字符串

  9. sort 和 uniq 的初步使用,一个排序,一个查重

  10. strings的奇妙使用

发表了74篇文章 · 总计107.96k字
本博客已稳定运行
使用 Hugo 构建
主题 StackJimmy 设计