zoukankan      html  css  js  c++  java
  • 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的奇妙使用
  • 相关阅读:
    未处理的异常 stack overflow
    Largest Rectangle in a Histogram [POJ2559] [单调栈]
    Blocks [POJ3734] [矩阵快速幂]
    Rectangular Covering [POJ2836] [状压DP]
    Arrange the Bulls [POJ2441] [状压DP]
    The Water Bowls [POJ3185] [开关问题]
    Bound Found [POJ2566] [尺取法]
    4 Values whose Sum is 0 [POJ2785] [折半搜索]
    Physics Experiment 弹性碰撞 [POJ3684]
    Fliptile [POJ3279] [开关问题]
  • 原文地址:https://www.cnblogs.com/DorinXL/p/12638081.html
Copyright © 2011-2022 走看看