OverTheWire的Bandit题

题目:
http://overthewire.org/wargames/bandit/bandit21.html
Write-up:
https://rundata.wordpress.com/2013/03/21/overthewire-bandit-wargame-solutions-1-24/
https://github.com/Cathon/mySolutions/blob/master/overthewire/Bandit/Level_23.md

一个文件解压可以这么多步骤

这里写图片描述

用openssl加密数据与服务端通信

$ openssl s_client -ign_eof -connect localhost:30000

这里写图片描述

用nc连接到本地的某端口之后,传一个字符串过去,就可以得到服务端的响应–下一关的密码

这里写图片描述

~/.bashrc里面写让你退出的逻辑

你登录的时候会执行 .bashrc 里面的脚本,然后有人在 .bashrc 里面写了让你退出的脚本,于是你就退出了。但是可以用其他方法,只是ssh的时候就指明你要使用什么命令就可以执行那个命令了
比如 ssh bandit@localhost cat readme
就在ssh登录上那个机器之后第一时间执行了cat readme打印出当前目录的readme文件,里面就是下一关的密码
这里写图片描述

原来nc连接建立成功之后需要nc的服务端需要发送一个消息,而不是客户端

这里写图片描述

我了个擦这哪来的timeout命令,自己写的吧

timeout -s 9 60 "./$i"

还要有帮助选项
这里写图片描述

一个以某帐号在后台运行的任务持续定期查看某目录下的文件,并执行它然后删掉它

bandit23@melinda:/tmp/cqq23$ cat /usr/bin/cronjob_bandit24.sh
#!/bin/bash

myname=$(whoami)

cd /var/spool/$myname
echo "Executing and deleting all scripts in /var/spool/$myname:"
for i in * .*;
do
    if [ "$i" != "." -a "$i" != ".." ];
    then
        echo "Handling $i"
        timeout -s 9 60 "./$i"
        rm -f "./$i"
    fi
done

对于当前目录的所有可见文件()和隐藏文件(.), 除去 ...之外的任何其他文件都会在60s之后执行,然后删掉。

第24->25需要暴力破解

$ vim brute.sh
pass="UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ"
for i in {1000..10000}
do {
if
    echo $pass $i| nc localhost 30002 | grep Wrong > /dev/null
then
    echo $i
else
    echo $pass $i| nc localhost 30002
    exit
fi
}
done
$ chmod +x brute.sh
$ ./brute.sh

大概半个小时之后,终于出来了
这里写图片描述

如果这种echo $pass $i | nc localhost 30002不行的话,加上一句cat。即echo "$pass $i"; cat | nc localhost 30002

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值