• 0115-06-侯舒舒(作业-linux)


    2020年1月15日

    任务

    1. 通关Bandit wargame,做到26-27关
      题目网址为:https://overthewire.org/wargames/bandit/
      要求:写出清晰明确的解题过程,阐明解题思路;在第二天的汇报中能够动手实操并讲解
    2. 写一份命令速记表,分类整理Linux各种常用命令,给出常用使用方法
    3. 装一台属于自己的Linux,发行版任选(明晚前搞定)
    1. 通关Bandit wargame,做到26-27关
      题目网址为:https://overthewire.org/wargames/bandit/
      要求:写出清晰明确的解题过程,阐明解题思路;在第二天的汇报中能够动手实操并讲解
    • 0-1级

      • 使用ssh -p 2220 bandit0@bandit.labs.overthewire.org
        登陆靶机使用ls查看下,发现目标文件。在使用ls -all 查看下。最后在cat一下目标文件,得到密码boJ9jbbUNNfktd78OOpsqOltutMc3MY1。
    • 1-2级

      • 使用上面的密码登陆。ls一下,发现一个目标-,但是直接cat打不开,使用pwd查看一下当前目录。在cat这个目录下的-。得到密码
        CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
    • 2-3级

      • 使用上面的密码登陆。ls一下,发现一个目标空格文件,这需要Tab按键补齐,自动将空格转义,或者给文件名加上双引号。得到密码
        UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
    • 3-4级

      • 使用上面的密码登陆。ls一下。得到一个目录,题目说是在以一个目录下的隐藏文件,所以进入到这个目录下,使用ls -a得到隐藏文件,cat一下得到密码pIwrPrtPN36QITSp3EQaw936yaFoFgAB
    • 4-5级

      • 使用上面的密码登陆。ls一下。得到一堆file。题目说唯一的人类可读文件中,所以使用file ./*查看文件类型,发现07可读。cat得到密码koReBOKuIDDepwhWk7jZC0RTdopnAYKh
    • 5-6级

      • 使用上面的密码登陆。ls一下。得到一堆文件,根据题目提示,需要使用find . -type f -size 1033c去查找,得到一个目录下存在文件
        ,cat下得到密码DXjZPULLxYr17uwoI01bNLQbtFemEgo7

      附一下find参数解析

      • -size n[cwbkMG] : 档案大小 为 n 个由后缀决定的数据块。其中后缀含义为:
      • b: 代表 512 位元组的区块(如果用户没有指定后缀,则默认为 b)
      • c: 表示字节数
      • k: 表示 kilo bytes (1024字节)
      • w: 字 (2字节)
      • M:兆字节(1048576字节)
      • G: 千兆字节 (1073741824字节)
      • -type c : 档案类型是 c 。
      • d: 目录
      • c: 字型装置档案
      • b: 区块装置档案
      • p: 具名贮列
      • f: 一般档案
      • l: 符号连结
      • s: socket
    • 6-7级

      • 根据题意只能用find查找
        find / -size 33c -users bandit7 -group bandit6 2>/dev/null 后面的2>/dev/null因为find命令在根目录下查找会经常有很多权限的报错信息,所有在linux中通常用这种方式将错误信息重定向到“黑洞中”。查到到文件后。cat一下得到密码HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs
    • 7-8级

      • 根据提示data.txt中在密钥在millionth中,可以通过grep命令查看使用cat data.txt |grep millionth得到密码cvX2JJa4CFALtqS87jk27qwqGhBM9plV
    • 8-9级

      • 这题是要找到出现一次的那个行,肯定用uniq命令了,但是使用之前需要用sort命令对文本进行排序,因为uniq命令是通过判断上下两行是否一样来判断的,所以用sort排序一下然后在uniq就能找到唯一出现的那一行了
        这题找到两种解法,一个是直接-u获取,还有就是-c列出出现的次数,然后从中找到是1的那一行即可
      • sort data.txt |uniq -u
      • sort data.txt |uniq -c
        两种都得到密码为UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR
    • 9-10级

      • 直接使用cat命令是很多很杂乱的东西,可以通过string命令查看文件中的字符串,根据提示信息可得下一关密钥以若干个“=”开头,可以找到下一关的密码 使用strings data.txt
        truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
    • 10-11级

      • 题目提示密钥信息用了base64解码,我们解码即可 使用base64 -d data.txt 得到IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR
    • 11-12级

      • tr用来从标准输入中通过替换或删除操作进行字符转换。tr主要用于删除文件中控制字符或进行字符转换。使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换。tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始。
        带有最常用选项的tr命令格式为:
        tr -c -d -s [“string1_to_translate_from”][“string2_to_translate_to”] < input-file
        Rot13是一种特殊的凯撒密码转换,根据题目所说的字母的的顺序旋转了13个位置,就相当去26个字母的前13个位置与后13个位置调换了。那么就是用tr命令进行调换 使用cat data.txt |tr 'a-zA-Z' 'n-za-mN-ZA-M'
        得到密码5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu
    • 12-13级

      • 先mkdir /tmp/c1911创建一个目录。在cp data.txt /tmp/c1911复制进来,在xxd -r data.txt > data.bin转成bin。复制完是gzip格式,改文件名,解压,mv data.bin data.gz,gzip -d data.gz,解压完后还有一层bzip2 ???, 继续解压。然后一直解压,直到第八层,得到密码8ZjyCRiBWFYkneahHwxCv3wb2a1ORpYL
    • 13-14级

      • 这一关告诉下一关的密码存放在/etc目录下,且只有bandit14用户可读,当前目录下只有一个私钥文件,可以考虑用私钥文件去连接bandit14, 用bandit14 读取用户文件。使用ssh -i sshkey.private bandit14@127.0.0.1连接,然后在cat /etc/bandit_pass/bandit14得到密码4wcYUJFw0k0XLShlDzztnTBHiqxU3b3e
    • 14-15级
      这关说只要把本关的密钥提交即可得到反馈,使用telnet localhost 30000,再提交上面的密码,得到密码BfMYroe26WYalil77FoDi9qh59eK5xNr

    • 15-16级

      • 这题说是要通过ssl发送本关密码才可以的获得下一关的密钥信息。需要用到openssl,使用openssl s_client -connect localhost -port 30001,在输入上关密码,得到cluFn7wTiGryunymYOu4RcffSxQluehd
    • 16-17级

      • 这一题说开放的端口在31000和32000中间的某一个开放了ssl服务的端口上,肯定要使用到端口扫描程序,这里就使用nmap, 扫描一个端口范围,找到应该使用的端口号
      • 发现31518端口和31790端口开放了ssl服务,连接这个端口发送本关密钥。发现31518端口会将发送的内容直接返回,31790才是返回密码的正确端口。
      • 返回的是一段ssh私钥,不难猜想这是下一关连接的私钥信息,先存起来再说,直接在当前目录写发现没有权限,这样就需要写到/tmp目录下了
      • 用这个私钥去连接第17关ssh -i rsa.priv bandit17@localhost
      • 在cat /etc/bandit_pass/bandit17
        得到密码xLYVMN9WE5zQ5vHacb0sZEVqbrp7nBTn
  • 相关阅读:
    C#下水晶报表打印自定义纸张
    设计模式应用之一:控件清空
    自定义StyleCop规则
    1.redis安装 单机
    dubbo个人总结
    spring+redis 集群下的操作
    mybatis调用存储过程 无参、带有输入输出参数,输出游标类型的 存储
    spring framework核心框架体系结构
    oracle‘s package,function,proceture编译时无响应(解决)
    Oracle 在线重定义表分区
  • 原文地址:https://www.cnblogs.com/demohou/p/12199339.html
Copyright © 2020-2023  润新知