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的奇妙使用
原文地址:https://www.cnblogs.com/DorinXL/p/12638081.html