level0
直接ssh登进去,cat readme,拿到bandit1的ssh密码:boJ9jbbUNNfktd78OOpsqOltutMc3MY1
level1
ssh登陆进去提示是-开头的文件,针对这种特殊字符文件的操作,需要使用./,所以这题直接cat ./-即可,拿到bandit2的密码:CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
level2
有空格加个引号就可以了,用cat ./“spaces in this filename” 拿到bandit3的密码:UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
level3
在linux中,文件名前面有.的就是隐藏文件,inhere下有隐藏文件,直接ls -al找到隐藏文件.hidden,查看文件内容即可,拿到bandit4的密码:pIwrPrtPN36QITSp3EQaw936yaFoFgAB
level4
inhere下有多个文件,cat看了下只有-file07是正常的,其他的均是乱码,得到bandit5密码:koReBOKuIDDepwhWk7jZC0RTdopnAYKh,查了下linux中file ./* 可以查看文件类型
level5
cd inhere有很多文件,但密码文件为1033字节,直接用find命令:find inhere -size 1033c,找到文件路径:inhere/maybehere07/.file2,cat下得到bandit6的密码:DXjZPULLxYr17uwoI01bNLQbtFemEgo7
level6
按照给的条件查找find / -user bandit7 -group bandit6 -size 33c 2>/dev/null
得到文件/var/lib/dpkg/info/bandit7.password,cat一下得到bandit7的密码:HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs。这里-user指定user组,-group指定group组,-size指定大小,后面的2>/dev/null因为find命令在根目录下查找会经常有很多权限的报错信息,所有在linux中通常用这种方式将错误信息重定向到“黑洞中”
level7
题目说密码在单词millionth的后面,那么我们就在data.txt中搜索这个单词即可
cat data.txt|grep millionth,得到bandit8密码:cvX2JJa4CFALtqS87jk27qwqGhBM9plV
level8
data.txt文件中只出现一次的那一行,去重sort data.txt |uniq -u,得到bandit9密码:UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR
level9
提示不可读字符中找出可读字符,用strings,strings data.txt,得到bandit10密码:truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
level10
提示是base64加密,cat data.txt|base64 -d解密得到bandit11密码:IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR
level11
这里涉及到一个非常古老的置换密码算法 ROT13,简单来说就是把原字母用它13位之后对应的字母代替,超过时则重新绕回26英文字母开头。A换成N、B换成O、依此类推到M换成Z,然后序列反转:N换成A、O换成B、最后Z换成M。cat data.txt|tr ‘a-zA-Z’ ‘n-za-mN-ZA-M’得到bandit12密码:5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu