wargame--Bandit

Bandit 是wargame 系列挑战中的第一个系列,也是最基础的一个,可以用来巩固一些命令行基础知识,所有的挑战都通过终端直接 ssh 连接远程主机即可。我在两周前打完了 Bandit,所以写下这篇博客来做一个总结。

Level 0

目标

使用 ssh 连接到目标主机 bandit.labs.overthewire.org 。用户名为bandit0,密码为bandit0

可能会用到的命令

ssh


非常简单,直接连进去可以得到下一关的密码。

sshpass -p `natas0` ssh natas0@bandit.labs.overthewire.org -p 2220

这里用到了 sshpass 命令,这个命令允许你进行 ssh 连接时直接输入密码,而不需要再标准输入中输入,非常方便,之后的连接我都是使用的这个命令。可以通过该页面 查看安装如何安装

Level 0 → 1

目标

下一关的密码保存在用户目录下的 readme文件中。无论什么时候得到了下一关的密码,使用 ssh 登入下一关并继续挑战。

可能会用到的命令

ls, cd, cat, file, du, find


使用ls 查看用户目录并用cat查看文件内容。

cat readme
boJ9jbbUNNfktd78OOpsqOltutMc3MY1

Level 1→ 2

目标

下一关的密码保存在用户目录下的"-"文件中。

可能会用到的命令

ls, cd, cat, file, du, find


使用 ls 查看目录并使用 cat 查看文件内容。然而在使用 cat 命令时会出现一直空等的情况。因为文件名"-"是一个特殊字符,它会告诉 Shell 用户想从标准输入输入数据,所以 Shell 就会空等。解决办法就是带上文件路径。

cat ~/-
cat ./-
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9

Level 2→3

目标

下一关的密码保存在用户目录下的 space in this filename文件中。

可能会用到的命令

ls, cd, cat, file, du, find


这一关考察的是转义符的应用。如果直接在 Shell 中打出文件命令的话,Shell 会将输入理解为多个参数,而不是一个文件名,因此需要用转义符’\'来对空格进行转义。

cat "spaces in this filename"
cat spaces\ in\ this\ filename
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

Level 3→4

目标

下一关的密码保存在 inhere 文件夹下的隐藏文件中。

可能会用到的命令

ls, cd, cat, file, du, find


主要熟悉 ls 命令,加上 -a 参数后就可以看到当前文件夹下包括隐藏文件在内的所有文件。

cd inhere
ls -a
cat .hidden
pIwrPrtPN36QITSp3EQaw936yaFoFgAB

Level 4→ 5

目标

下一关的密码保存在 **inhere ** 文件夹下唯一可读的文件中。

可能会用到的命令

ls, cd, cat, file, du, find


inhere 有很多文件,但只有一个是可读的。使用 file 命令可以查看所有文件的文件类型,发现只有一个文件是 ASCII 格式的,那就是我们需要的!

cd inhere
file ./-*
cat ./-file07
koReBOKuIDDepwhWk7jZC0RTdopnAYKh

level 5→6

目标

下一关的密码保存在 inhere 文件夹的某个文件中,它有下列特征:可读的;1033字节;不可执行。

可能会用到的命令

ls, cd, cat, file, du, find


这一关用到 find 命令。参数 -size 可以用来指定文件的大小,在数字后加 'c’用字节表示,加’k’用 kb 表示,加’M’用 MB 表示。参数 -type 用来指定文件的类型,'f’表示普通文件,'I’表示链接文件,'d’表示目录。

cd inhere
find ./ -type f -size 1033c
find ./ -size 1033c
cat ./maybehere07/.file2
DXjZPULLxYr17uwoI01bNLQbtFemEgo7

Level 6→7

目标

和上一关类似,这一关的文件在服务器中,没有告诉我们具体位置。这一关的文件有以下特征:属于用户 bandit7;属于组 bandit6;33字节。

可能会用到的命令

ls, cd, cat, file, du, find, grep


这一关还是要用到 find命令。我们已经知道了使用 -size 33c来寻找长33字节的文件。参数 -group bandit6 将会寻找属于组 bandit6 的文件。参数 -user bandit7 将会寻找属于用户 bandit7 的文件。因为该文件在服务器的某处,所以我们要从根目录开始找。执行命令后将会产生许多拒绝访问的报错信息。为了过滤掉这些没用的信息,我们使用 (2>/dev/null)。

小贴士:

'>‘操作符重定向输出到文件或设备。也可以使用’>>‘来附加(’>'会覆盖源文件,如果有的话)。

> file : 重定向标准输出到文件

1>file : 重定向标准输出到文件

2>file : 重定向标准错误到文件

&>file : 重定向标准输出和错误到文件

/dev/null 是空设备,任何定向到它的数据都会被删除,可以用来压缩任何输出。

find / -size 33c -user bandit7 -group bandit6 2>/dev/null
cat /var/lib/dpkg/info/bandit7.password
HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs

Level 7→8

目标

下一关的密码保存在 data.txt 文件中的单词 millionth 后面。

可能会用到的命令

grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd


这一关很简单,直接用 grep 就好。

grep "millionth" data.txt
millionth cvX2JJa4CFALtqS87jk27qwqGhBM9plV

Level 8→9

目标

下一关的密码保存在文件 data.txt中并且

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值