在线游戏靶场【overthewire.org】之linux基础练兵场

admin 2025年1月12日12:23:31评论14 views字数 9863阅读32分52秒阅读模式

前言

这里是bandit系列从1-33所有关卡,所以内容很多,大家可以慢慢观看,或者跳着看

靶场游戏网站:  https://overthewire.org/wargames/banditssh连接主机  : bandit.labs.overthewire.org

ssh连接端口  : 2220password : 密码都存储在/etc/bandit_pass/ 中

从第一个账户bandit0开始,后面获取的密码都是下一个用户的密码

这里是考察linux的,使用ssh进行连接并发现的

这里的密码,作者应该是定期进行随机,所以这里的密码只做参考

解题

bandit0

直接输入用户名bandit0和密码bandit0即可

在线游戏靶场【overthewire.org】之linux基础练兵场

在这里获取到bandit1的密码

获取方式cat readme

ZjLjTmM6FvvyRnrb2rfNWOZOTa6ip5If
在线游戏靶场【overthewire.org】之linux基础练兵场

进入下一个登录

bandit1

直接输入用户名bandit1和前面获取的密码

然后查看ls,并使用命令(cat)vim ./-获取下一个密码

特殊字符为文件名,如破折号(-)等,可以使用./ 就可以访问文件。

在线游戏靶场【overthewire.org】之linux基础练兵场
263JGJPfgU6LtdEvgfWU1XP5yac29mFx

这个就是下一个用户bandit2的密码

bandit2

输入用户名bandit2和上面的密码即可登录

使用命令cat "{filename}" 或者 cat spaces in this filename

使用 "" 把空格文件名包含进去,即可获取。或者对文件名中包含的空格进行转义(使用 进行转义)

MNk8KNH3Usiio41PRUEoDFPqfxLPlSmx
在线游戏靶场【overthewire.org】之linux基础练兵场

这就是下一个用户bandit3的密码

bandit3

输入用户名bandit3和上面获取的密码登录即可

使用命令ls -al可以显示隐藏文件,在linux中以.开头的是隐藏文件的格式,cat ...Hiding-From-You

在线游戏靶场【overthewire.org】之linux基础练兵场
2WmrDFRmJIq3IPxneAaMGhap0pFhF3NJ

这就是下一个用户bandit4的密码

bandit4

使用用户名bandit4和上面获取的密码进行登录

使用命令cat ./*查看当前目录下的所有文件,并输出在屏幕上

在线游戏靶场【overthewire.org】之linux基础练兵场
4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw

这就是下一个用户bandit5的密码

bandit5

使用bandit5和上面获取的密码进行登录

查看目录后,发现内容太多了,那么怎么我们想要的是什么

在线游戏靶场【overthewire.org】之linux基础练兵场

查看官方给出的提示

在线游戏靶场【overthewire.org】之linux基础练兵场

那么就需要使用find了,首先需要知道,大小为1033字节,在find中可使用-size 1033cc表示字节

不可执行,表示该文件没有执行权限,具有执行权限的是111没有就取!

find . -type f -size 1033c ! -perm 111
# . 表示当前目录下
#-type f 指定搜索的文件类型为普通文件
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节
在线游戏靶场【overthewire.org】之linux基础练兵场
HWasnPhtq9AVKe0dmk45nxy20cvUa6EG

这就是下一个用户bandit6的密码

bandit6

使用用户名bandit6和上面获取的密码进行登录

登录后发现当前目录下没有任何东西,查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

那么根据提示构造语句

find / -user bandit7 -group bandit6 -size 33c 2>/dev/null
#-user 指定文件的所有者
#-group 指定文件的所属组

#
find使用后可能有权限被拒等信息,正确的查找信息被淹没其中,所以在命令后加上 2>/dev/null,即可去除权限被拒的错误信息,只显示查找到的位置
在线游戏靶场【overthewire.org】之linux基础练兵场
morbNTDkSW6jIlUc0ymOdMaLnOlFVAaj

这就是下一个用户bandit7的密码

bandit7

使用用户名bandit7和上面获取的密码登录

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

先查看一下data.txt中的数据是什么样的,然后再配合grep筛选出指定的一行

head -5 data.txt  #查看data.txt的前5行数据
cat data.txt | grep millionth 
#查看data.txt数据,并把数据交给grep进行过滤,只留下有millionth的那一行
在线游戏靶场【overthewire.org】之linux基础练兵场
dfwvzFQi4mU0wfNbFOe9RoWskMLg7eEc

这就是下一个用户bandit8的密码

bandit8

使用用户名bandit8和上面获取的密码进行登录

查看官方给出的提示

在线游戏靶场【overthewire.org】之linux基础练兵场

是只出现一次的文本行

那么可以构造语句

cat data.txt | sort | uniq -u
#这种方式通过把所有数据交给sort进行排序,就是按照英文字母那种进行排序,然后交给uniq进行统计,-u就是只出现一次的文本行

sort data.txt | uniq -c | grep -w 1
#这种方式是先进行排序,然后交给uniq处理,-c是对出现的文本行进行统计并去重,在每一行前,标出出现次数,然后使用grep -w 处理,也就是筛选1的那一行出来
在线游戏靶场【overthewire.org】之linux基础练兵场
4CKMh1JI91bUIZZPXDqGanal4xvAg0JM

这就是下一个用户bandit9的密码

bandit9

使用用户名bandit9和上面获取的密码进行登录

查看官方给出的提示

在线游戏靶场【overthewire.org】之linux基础练兵场

这里直接查看data.txt,发现内容乱码,所以构造语句

strings data.txt | grep ==
#strings可以把乱码中的一些字符显示出来,不会显示乱码
在线游戏靶场【overthewire.org】之linux基础练兵场
FGUW5ilLVJrxX9kMYMmlN4MgbpfMiqey

这就是下一个用户bandit10的密码

bandit10

输入用户名bandit10和上面获取的密码登录

查看官方给出的提示,说是有base64编码

在线游戏靶场【overthewire.org】之linux基础练兵场

构造语句

base64 -d data.txt
或者
cat data.txt | base64 -d
#base64 -d 是把前面获取的结果进行base64解码
在线游戏靶场【overthewire.org】之linux基础练兵场
dtR173fZKb0RRsDFSGsg2RWnpNVj3qRr

这个就是下个用户bandit11的密码

bandit11

使用用户名bandit11和上面获取的密码登录

查看官方给出的提示

在线游戏靶场【overthewire.org】之linux基础练兵场

那么可以借助命令tr,该命令是可以进行字符替换的,那么原本的a-z就需要分成两段了,构造语句

cat data.txt | tr [a-zA-Z] [n-za-mN-ZA-M]

#
应用ROT13到一段文字上仅仅只需要检查字母顺序并取代它在13位之后的对应字母
#有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后串行反转:N换成A、O换成B、最后Z换成M
#只有这些出现在英文字母里的字符受影响;数字、符号、空白字符以及所有其他字符都不变。替换后的字母大小写保持不变。
在线游戏靶场【overthewire.org】之linux基础练兵场
7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4

这就是下个用户bandit12的密码

bandit12

使用用户名bandit12和上面获取的密码登录

查看官方给出的提示

在线游戏靶场【overthewire.org】之linux基础练兵场

构造语句

mktemp -d #直接在/tmp目录下创建一个目录,并且是唯一的

cp data.txt /tmp/tmp.gA5Mfk5YeT #这个目录是上面生成的,是随机的
cd /tmp/tmp.gA5Mfk5YeT
xxd -r data.txt > test

在线游戏靶场【overthewire.org】之linux基础练兵场

这里后面太多了,简单来说,这里可以知道各种解压方式及命令

#每次需要使用file查看文件是什么类型的,然后具体根据类型操作

#
bzip2压缩的文件,文件需要为 .bz2格式,若不是,需要使用mv更改
bzip2 -d test.bz2
#gzip压缩的文件,文件需要 .gz格式
gzip -d test.gz
#tar压缩的文件,文件需要为 .tar格式
tar -xvf test.tar

#
最终使用file确定文件为 ASCII text,即可以查看了
在线游戏靶场【overthewire.org】之linux基础练兵场
FO5dwFsc0cbaIiH0h8J2eUks2vdTDwAn

这就是下一个用户bandit13的密码

bandit13

使用用户名bandit13和上面获取的密码登录

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

这里是翻译问题,这里大概意思就是使用密钥连接,没有密码

查看当前目录,发现私钥文件

在线游戏靶场【overthewire.org】之linux基础练兵场

把这个文件中的内容复制,不过需要修改这个密钥文件的权限为400,但是在windows中很是麻烦,所以后面采用linux,我这里是使用wsl安装的kali,因为这个启动方便,也小巧,所以直接使用这个

#在kali中执行,下载到当前目录
scp -P 2220 [email protected]:/home/bandit13/sshkey.p
rivate ./

chmod 400 sshkey.private
ssh -i sshkey.private [email protected] -p 2220

登录成功,之前官方提示,密码在/etc/bandit_pass/bandit14

在线游戏靶场【overthewire.org】之linux基础练兵场
MU4VWeTyJk8ROof1qqmcBPaLh7lDCPvS

这就是当前bandit14 的密码

bandit15

之前并未获取到bandit15的密码,查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

那么保持bandit14的登录状态,然后构造语句

nc 127.0.0.1 30000
#然后输入上面的bandit14的密码
在线游戏靶场【overthewire.org】之linux基础练兵场
8xCjnmgoKbGLhHFAZlGE5Tmu4M2tKJQo

这是bandit15的密码

这时候,不行啊,对于bandit16未获取到内容,这里查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

那么需要以bandit15再登录,然后进行操作,因为涉及ssl/tls加密,所以构造以下语句

openssl s_client -connect 127.0.0.1:30001
#然后在进行读取的时候,输入上面的bandit15密码
在线游戏靶场【overthewire.org】之linux基础练兵场

或者使用ncat也是可以的,不过建议使用openssl,这个对于验证是比较更全面的

ncat --ssl localhost 30001
在线游戏靶场【overthewire.org】之linux基础练兵场
kSkvUpMQ7lBYyCM4GBPvCvT1BfWRy0Dx

这是bandit16的密码

bandit16

使用用户名bandit16和上面获取的密码登录

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

所以这里需要进行扫描端口了,指定提供的端口范围

nmap -sV 127.0.0.1 -p 31000-32000
在线游戏靶场【overthewire.org】之linux基础练兵场

测试,31518端口是输入什么就输出什么,所以另一个ssl端口31790可用

构造语句

ncat --ssl 127.0.0.1 31790
或者
openssl s_client -connect 127.0.0.1:31790
#两个其中一个即可

获取到的是密钥

在线游戏靶场【overthewire.org】之linux基础练兵场

把这个密钥复制到kali或者直接复制在当前机器也是可以的,不过若是在当前机器,需要在/tmp目录,这样才能修改权限

chmod 400 conn
ssh -i conn [email protected] -p 2220
在线游戏靶场【overthewire.org】之linux基础练兵场

登录成功后,可以查看文件/etc/bandit_pass/bandit17获取当前用户的密码

EReVavePLFHtFlFsjn3hyzMlvSuSAcRD

这是bandit17的密码

bandit17

可以在上面的基础上保持登录状态,或者使用获取的密码再登录

查看官方给出的提示

在线游戏靶场【overthewire.org】之linux基础练兵场

就是比较两个文件,可以使用diff,列出两个文件中的不同,是对应关系的

diff passwords.new passwords.old
在线游戏靶场【overthewire.org】之linux基础练兵场

所以根据文件名new代表新密码,所以,密码为

x2gLTTjFwMOhQ8oWNbMN362QKxfRqGlO

这就是bandit18的密码

bandit18

使用上面获取的密码登录用户bandit18

但是在尝试登录时,直接被退出,并提示之前官方给出的关键字byebye

在线游戏靶场【overthewire.org】之linux基础练兵场

那么在进行登录的时候尝试能否执行操作,并有返回吗,测试命令ls返回了readme

ssh [email protected] -p 2220 ls
在线游戏靶场【overthewire.org】之linux基础练兵场

那么再测试能否使用其他命令,比如这里查看这个文件,获取到密码

ssh [email protected] -p 2220 cat readme
在线游戏靶场【overthewire.org】之linux基础练兵场
cGWpMaKXVwDUNgPAVJbWYuGHVn9zl3j8

这个密码就是bandit19的密码

bandit19

使用上面获取的密码登录bandit19

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

查看当前用户的家目录下,发现一个具有SUID权限的文件,并且所属组bandit19有执行权限的,该文件也是可执行文件,测试,发现可以以所属者的身份执行命令,执行查看密码文件

./bandit20-do cat /etc/bandit_pass/bandit20
在线游戏靶场【overthewire.org】之linux基础练兵场
0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO

这是bandit20的密码

bandit20

使用上面获取的密码登录bandit20用户

查看当前用户的家目录,发现还是一个SUID权限的文件,所以猜测还是与上面一样

在线游戏靶场【overthewire.org】之linux基础练兵场

借助nc开启一个监听,用于接收,不过这里经过测试,其实是进行的比较

因为/etc/bandit_pass/bandit20中的密码与输入的一样,所以会返回成功的

nc -lvvp 50000 < /etc/bandit_pass/bandit20 &
#这里是开启一个监听端口,然后当有人访问这个端口,就会把bandit20密码输出,然后会进行验证的
#这里的&是指后台执行任务

./suconnect 50000 0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO
#执行脚本连接指定端口,然后把用户输入的密码与上面的输出进行比较
#正确就返回下一个用户的密码
在线游戏靶场【overthewire.org】之linux基础练兵场

或者可以这样

echo "0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO" > /tmp/1.txt

nc -lvvp 8888 < /tmp/1.txt &
./suconnect 8888 0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO
在线游戏靶场【overthewire.org】之linux基础练兵场
EeoULMCra2q0dSkYj561DX7s1CpBuOBt

这就是bandit21的密码

bandit21

使用上面获取的密码登录bandit21用户

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

这里就开始涉及到定时任务了,一般可以查看/etc/crontab,直接查看有无定时任务。

或者在/etc/cron.d目录下,一般都放置着定时任务

cd /etc/cron.d
ls -al
在线游戏靶场【overthewire.org】之linux基础练兵场

这里还可以看到其他两个用户,说明后面可能都是这样获取的,不过这里还是需要一级一级的向上,有权限限制

tRae0UfB9v0UzbCdn9cY0gQnds9GF58Q

这就是bandit22的密码

bandit22

使用上面获取的密码登录用户bandit22

直接查看定时任务,发现脚本,查看脚本内容

这里主要就是路径进行了md5加密

在线游戏靶场【overthewire.org】之linux基础练兵场

尝试复原脚本,这里只需要获取路径即可

在线游戏靶场【overthewire.org】之linux基础练兵场

这时候就直接查看即可发现密码

cat /tmp/8ca319486bfbbc3663ea0fbe81326349
在线游戏靶场【overthewire.org】之linux基础练兵场
0Zf11ioIjMVN551jX3CmStKLYqjk54Ga

这就是bandit23的密码

bandit23

以上面获取的密码登录bandit23用户

直接查看脚本文件

在线游戏靶场【overthewire.org】之linux基础练兵场

既然可以执行,那么查看能否在那个目录可否写入,其他用户具有写入和执行权限

在线游戏靶场【overthewire.org】之linux基础练兵场

那么在foo目录下写入一个脚本,等待执行

echo "cat /etc/bandit_pass/bandit24 > /tmp/pass_24" > 1.sh
chmod +x 1.sh

这时候等待一分钟,执行后,就可以去/tmp/pass_24查看获取的密码

在线游戏靶场【overthewire.org】之linux基础练兵场
gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8

这就是bandit24的密码

bandit24

使用上面获取的密码登录bandit24用户

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

测试这个端口,确实需要bandit24的密码和一个四位的pin码,中间以空格隔开

在线游戏靶场【overthewire.org】之linux基础练兵场

直接在终端编写代码,使用bash循环使密码加上四位pin,当然,也可以直接编写一个.sh脚本,然后执行,效果是一样的

for i in {0000..9999}; do echo gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8 $i; done | nc localhost 30002 > result.txt

然后根据前面测试的,错误的话,会提示Wrong!......,那么使用grep进行筛选

cat /tmp/result.txt | grep -v "Wrong"
在线游戏靶场【overthewire.org】之linux基础练兵场
iCi86ttT4KSNe1armKiwbQNmB3YJP3q4

这就是bandit25的密码

bandit25

使用上面获取的密码登录bandit25用户

查看当前目录下,发现bandit26ssh私钥,直接复制到/tmp/ss文件中,然后指定进行连接

chmod 400 /tmp/ss
ssh bandit26@localhost -p 2220 -i /tmp/ss

但是出现连接成功的标志后,又断开连接了

在线游戏靶场【overthewire.org】之linux基础练兵场

一般more命令是信息过多,导致窗口无法显示完全使用的,那么这里是因为我的窗口过大,导致信息一下都显示了,那么这里把窗口缩写,越小越好,或者把字体越调越大

ssh bandit26@localhost -p 2220 -i /tmp/ss
在线游戏靶场【overthewire.org】之linux基础练兵场

然后这时候出现more,就可以直接使用,按着v键,进入vim编辑

在线游戏靶场【overthewire.org】之linux基础练兵场

这时候,键入:e /etc/bandit_pass/bandit26,再回车,即可获取密码

在线游戏靶场【overthewire.org】之linux基础练兵场
s0773xxkk0MXfdqOfPRVr9L3jJBUOgCZ

这就是bantid26的密码

bandit26

使用上面获取的密码登录bandit26即可

这里还是与上面一样,把窗口设置小或者字体设置大

进入more后,按着v进入vim编辑,但是这里是处于bandit26,需要知道其它的信息,以获得bandit27的信息,所以需要获取shell,这里的bash终端只是临时的

:set shell=/bin/bash #设置临时变量shell的值为这个命令
:shell     #执行这个临时变量,获取bash终端
在线游戏靶场【overthewire.org】之linux基础练兵场

进入bash后,查看当前目录,发现具有SUID权限文件

在线游戏靶场【overthewire.org】之linux基础练兵场
upsNCc7vzaRDx6oZC6GiR6ERwe1MowGB

这就是bandit27的密码

bandit27

使用上面获取的密码登录bandit27用户

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

这里给出的提示有点乱码,大致是

通过端口2220有一个存储库,bandit27-git用户的密码与bandit27用户的密码相同,克隆存储库ssh://bandit27-git@localhost/home/bandit27-git/repo并查找下一级别的密码

使用命令创建一个随机唯一的临时目录

mktemp -d
cd /tmp/tmp.cn83fNY2dd
git clone ssh://bandit27-git@localhost:2220/home/bandit27-git/repo
#这里注意localhost:2220,指定端口了

执行克隆命令后,就会发现当前的结果

在线游戏靶场【overthewire.org】之linux基础练兵场

或者使用git show查看历史记录

在线游戏靶场【overthewire.org】之linux基础练兵场
Yz9IpL0sBcCeuG7m9uQFt8ZNpS4HZRcN

这就是bandit28的密码

bandit28

使用上面获取的密码登录bandit28用户

查看官方提示,还是和刚刚一样的乱序

在线游戏靶场【overthewire.org】之linux基础练兵场

整理

通过端口2220有一个存储库,bandit28-git用户的密码与bandit28用户的密码相同,克隆存储库ssh://bandit28-git@localhost/home/bandit28-git/repo并查找下一级别的密码

执行命令

mktemp -d
cd cd /tmp/tmp.hkZb9CizY1
git clone ssh://bandit28-git@localhost:2220/home/bandit28-git/repo
在线游戏靶场【overthewire.org】之linux基础练兵场

这里是熟悉git的简单命令, 也就是查看记录,还有git log查看日志记录

4pT1t5DENaYuqnqvadYs1oE4QLCdjmJ7

这就是bandit29的密码

bandit29

使用上面的密码登录bandit29

和上面一样,也是git相关,并且也是乱序的

通过端口2220有一个存储库,bandit29-git用户的密码与bandit29用户的密码相同,克隆存储库ssh://bandit29-git@localhost/home/bandit29-git/repo并查找下一级别的密码

mktemp -d
cd /tmp/tmp.ZZk6iYc1kz
git clone ssh://bandit29-git@localhost:2220/home/bandit29-git/repo
在线游戏靶场【overthewire.org】之linux基础练兵场

再次深入查看每一个分支的情况

git show-branch --all
在线游戏靶场【overthewire.org】之linux基础练兵场

发现分支中的dev有修改记录,切换该分支去查看

git checkout dev #切换到dev分支
git show #查看当前分支下的记录
在线游戏靶场【overthewire.org】之linux基础练兵场
git

这就是bandit30的密码

bandit30

使用上面获取的密码登录用户bandit30

这里官方提示还是git,并且乱序

通过端口2220有一个存储库,bandit30-git用户的密码与bandit30用户的密码相同,克隆存储库ssh://bandit30-git@localhost/home/bandit30-git/repo并查找下一级别的密码

mktemp -d
cd /tmp/tmp.9ax3orBmch
git clone ssh://bandit30-git@localhost:2220/home/bandit30-git/repo

把上面的查看记录都测试一般了,并且分支也查看,暂无内容

git log
git show
git branch -a  #查看所有分支
git branch -v  #查看所有分支详细信息
git checkout [分支] #切换分支

git tag    #获取标签
git show secret  #查看标签中的内容
在线游戏靶场【overthewire.org】之linux基础练兵场
fb5S2xb7bRyFmAvQYQGEqsbhVyJqhnDy

这就是bandit31的密码

bandit31

使用上面获取的密码登录bandit31

也是git,并且乱序

通过端口2220有一个存储库,bandit31-git用户的密码与bandit31用户的密码相同,克隆存储库ssh://bandit31-git@localhost/home/bandit31-git/repo并查找下一级别的密码

mktemp -d
cd /tmp/tmp.bVpxLebddr
git clone ssh://bandit31-git@localhost:2220/home/bandit31-git/repo
在线游戏靶场【overthewire.org】之linux基础练兵场

考察上传仓库的代码使用,这里指定了分支是master

echo "May I come in?" > key.txt
git remote -v  #查看远程仓库分支
git branch -v  #查看本地分支信息
git add key.txt  #添加文件到暂存区域
git add -f key.txt #强制添加文件到暂存区域
git commit -m "key" 
#将暂存区文件提交到本地仓库,这里提交到本地分支master,key是信息,可以理解为注释
git push origin master:master
#将本地分支master提交到远程分支origin中的master
在线游戏靶场【overthewire.org】之linux基础练兵场

上传成功就会返回密码

在线游戏靶场【overthewire.org】之linux基础练兵场
3O9RfhqyAlVBEZpVb6LYStshZoqoSx5K

这就是bandit32的密码

bandit32

使用上面获取的密码进行登录用户bandit32

查看官方提示

在线游戏靶场【overthewire.org】之linux基础练兵场

测试发现,这可能是一个shell脚本

在线游戏靶场【overthewire.org】之linux基础练兵场

尝试输入在shell脚本编写中的一些特殊含义,如$1

测试发现,在执行$0,也就是脚本本身的时候,退出脚本了,并可以执行命令

在线游戏靶场【overthewire.org】之linux基础练兵场
变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
tQdtbs5D5i2vJwkO8mEyYEyTL8izoeJ0

这就是bandit33的密码了

bandit33

使用上面获取的密码登录bandit33

查看当前目录下的README.md,发现这是结束了

在线游戏靶场【overthewire.org】之linux基础练兵场

总结

可以学习到以下内容

  1. 各种linux常用的命令
  2. 一些文本的筛选
  3. 编码
  4. 端口连接
  5. ssh公私钥的使用
  6. ssl连接
  7. 各种解压缩
  8. 定时脚本
  9. bash代码理解
  10. git的学习

这些都只是初步的学习,但是要会

原文始发于微信公众号(泷羽sec-何生安全):在线游戏靶场【overthewire.org】之linux基础练兵场

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月12日12:23:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   在线游戏靶场【overthewire.org】之linux基础练兵场https://cn-sec.com/archives/3621454.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息