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                                                          #第二个会话