前言:overthewire系列的靶场是国外的网址,如果连接不上试试用魔法,每一个关卡拿到的flag,都是下一个关卡的登录密码(靶场每段时间都会更新,所以是没法直接抄秘钥的,只能跟着过关方法来拿到秘钥)
如果那一关有另外一种解法,大佬可以分享在评论区
地址:https://overthewire.org/
第0关
登录kali,建立ssh连接,密码就是bandit0,靶场里面的每一关卡都有提示信息。
ssh bandit0@bandit.labs.overthewire.org -p 2220
题解:这里ls查看一下当前有哪些文件或者目录,查看到readme这个文件,然后cat打开并输出这个文件内容就拿到了下一个关的flag
cat readme
第一关
这一关考察文件的读取,查看到有一个特殊符号的文件,如果以普通的方式去打开它,特殊符号在不同的命令上会有不同的含义,会被系统理解成别的意思。
所以就要有指定查看的意思,cat./- 查看当前目录下的这个文件。
cat ./-
第二关
这一关主要考察cat的使用,中间有空格的文件可以使用两种方式查看,第一种是加斜杠,第二种是以字符串的形式查看,带上双引号。
cat spaces \ in\ this\ filenamecat "spaces in this filename"
第三关
这一关主要是查看对隐藏文件目录的查找,首先正常ls 查看一下,发现有一个inhere的目录还有一些隐藏的配置文件(查看了一下并没有什么),然后切换进入这个目录,发现是空的,那就在查看一下有没有隐藏文件,查到了一个.hidden的隐藏文件,我们cat一下,就成功找到了flag。
cat ./.hidden
第四关
这一关考察的是对批量文件的操作,file 命令查看当前目录下的*(所有)file文件 发现有一个文件是ACSll编码的text文本,那我们就查看一下他,顺利拿到了flag,下一关。
file ./* //filecat ./-file07
第五关
进入目录只有发现有很多的目录,里面有很多文件,本关也是考察对文件和目录的查找,根据提示找到1033bytes的文件,根据find命令查看到有一个目录,目录下面有一个file文件,查看它得到了flag
find命令: find . -type f -size 1033c
cat命令:cat ./maybehere07/.file2
第六关
这一关是考察find命令的是使用,根据题目提示写入命令参数,bandit7的密钥文件有三个属性,user bandit7用户有一个,group bandit6用户组有一个,而且有33个字节,现在我们需要根据提示信息,来查找共有这些属性的文件,使用find命令
find / -user bandit7 -group bandit6 -size 33c
cat /var/lib/dpkg/info/bandit7.password
第七关
这一关是需要匹配单词,密码是藏在这个单词的后面的,需要用到grep来匹配
cat ./data.txt | grep millionth
第八关
根据题目提示,密码在data.txt中只出现了一次,所以需要用到sort与uniq来先排序再去重,
-u:仅显示出现一次的行列
sort data.txt | uniq -u
第九关
这一关的密码在很多个=的后面,输出的内容很多很繁杂,如果用普通的方式去一行一行找,很费时间,所以我们需要用到strings命令来筛选和过滤,strings查找打印的字符串,以换行和空字符来结束,所以可以把他们都分开,可以很好区分。
strings data.txt
第十关
这一关是base64加密,很简单
base64 -d ./data.txt
第十一关
ROT13加密,这种加密简单理解无非就是对应的ascll表的字符串,来加密解密
cat ./data.txt |tr 'a-zA-Z' 'n-za-mN-ZA-M'
结尾:如有问题可私信我或评论区留言