level11:破解rot13加密
cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
网上也有直接破解rot13的网站
level12:还原hexdump文件为二进制文件
xxd -r data.txt #第一步使用xxd命令,将hexdump文件还原成二进制文件。
交替使用 file、gzip、bzip2、tar 命令一层一层解压缩,直到data8是一个ASCII文件。其中gzip、bzip2命令要求文件有.gz、.bz2的后缀才能解压缩。
level13:使用指定的私钥ssh登陆
scp bandit13@bandit.labs.overthewire.org:/home/bandit13/sshkey.private ./sshkey.private
chmod 600 sshkey.private #设置私钥文件属性,只有拥有者自己能访问
ssh -i sshkey.private bandit14@bandit.labs.overthewire.org
level14:nc访问网络
cat /etc/bandit_pass/bandit14 | nc localhost 30000
level15:openssl建立ssl链路
echo BfMYroe26WYalil77FoDi9qh59eK5xNr | openssl s_client -quiet -connect localhost:30001
链接ssl端口nc做不到,但是socat是可以做到的。openssl也可以换成socat。
level16:端口扫描
nmap -v -A -p31000-32000 localhost 或者 nmap -sT -sV -p31000-32000 localhost(-sT选项较慢)
#总共扫出来5个端口,其中3个是echo,剩下的两个是SSL。
#一个个端口尝试,综合level15和level13的方法登陆下一关。
level17:查找两个文件中不一致的行
grep -wvf passwords.old passwords.new
#注意文件的顺序,这个是将passwords.old文件中不同的行挑出来,反过来就是挑出passwords.new里面不同的行了。
level18:ssh直接在远程主机执行命令(可以绕过.bashrc等登陆脚本的限制)
ssh bandit18@bandit.labs.overthewire.org 'cat readme' #由于.bashrc脚步有logout,所以用ssh直接执行命令
level19:了解linux文件的 s 属性--setuid、setgid
./bandit20-do cat /etc/bandit_pass/bandit20 #给的bandit20-do具有s属性,能用bandit20的权限运行程序。
level20:监听与连接
echo GbKksEFF4yrVs6il55v6gwY5aVje5f0j | nc -l 12345 #第一个会话
./suconnect 12345 #第二个会话