OverTheWire的bandit游戏1
文章目录
- 介绍
- 题目
- bandit0
- bandit1
- bandit2
- bandit3
- bandit4
- bandit5
- bandit6
- bandit7
- bandit8
- bandit 9
- bandit 10
- bandit 11
- bandit 12
- bandit13
- bandit14
- bandit15
介绍
信息安全作为作为一个早睡晚起的学科(早上睡觉晚上起床),需要掌握海量的基础知识来支撑后期的学习.而兴趣是我们能坚持下去的动力.遇到了一个很有意思的网站http://overthewire.org/wargames/ 以闯关的形式来学习知识,在游戏中体验学习的快乐话不多说,开始基础游戏bandit
题目
bandit0
这一关主要是学习使用ssh进行连接.我这里使用MobaXterm进行连接。
每一个关卡的用户名都是本关卡的名称,比如本关ssh的用户名就是bandit0,然后每一关的任务就是找到下一关ssh连接的密码。
进入以后使用命令ls查看当前目录下面都有什么文件或文件夹。发现有一个readme文件。用cat查看文件内容.得到下一关的密码
ls
cat readme
bandit1
任务:下一关密码保存在home目录下的-文件中
先用ls
命令查看当前目录下的内容.发现有一个文件名以 -
开头.如果现在使用cat -
是行不通的.因为linux总是用-后面接收命令执行的参数如ls -l
那么怎么查看-文件里面内容呢.这就要介绍./
在linux中./
表示当前目录../
表示上一层目录.所以这里使用
cat ./-
bandit2
任务:下一关密码保存在名叫home目录下spaces in this filename
中。这一个关考察我们对空格的掌握。linux的文件名中的特殊字符需要转移。所以文件名打出来的应该是spaces\ in\ this\ filename
linux自带补全功能,所以我们也可以使用tab
键自动补全
cat spaces\ in\ this\ filename
bandit3
任务:下一关密码在inhere目录下面的一个隐藏文件中。
cd inhere
进入目录后,当我们使用ls
并不能发现隐藏的文件。linux的隐藏文件以.开头。使用ls并不能显示,这个时候需要使用命令
ls -a
这样会显示本目录下面所有的文件。发现**.hidden**文件。
cat inhere\.hidden
bandit4
任务:下一关密码保存在inhere目录下的一个人类可读的文件中(这里大致说的是ASCII码)
先cd inhere
进入目录,ls -al
发现有10个文件。随意查看一个发现文件内容乱码。这就是目标中可能提到的人类可读。使用file ./*
可以看出
./-file00: data
./-file01: data
./-file02: data
./-file03: data
./-file04: data
./-file05: data
./-file06: data
./-file07: ASCII text
./-file08: data
./-file09: data
可以看到file07是ASCII text。保存着下一关的密码。所以最后使用命令
./* | grep ASCII | cut -b -9 | xargs cat
bandit5
任务:下一关的密码保存在inhere目录下的某个地方。而且这个文件满足下面的三个条件1.人类可读的。2.文件大小为1033字节。3.不可执行。
我们先查看当前目录ls
发现有很多个文件夹,每个文件夹中又有很多文件。肯定不能手动找。那就根据三个规则来找文件。
find . -type f -size 1033c | xargs cat
bandit6
任务:下一关的密码保存在服务器的某个地方,并且这个文件满足下面三个条件:1.属于用户bandit7 2.属于组bandit6 3.文件大小为33字节
这一题还是考察我们find
命令的使用。主要涉及-user 符合指定的拥有者的文件或者目录
-group 查找符合指定的组的文件或目录
-size 查找符合指定的文件大小的文件
find / -type f -user bandit7 -group bandit6 -size 33c | xargs cat
对整个服务器进行查找,找到密码
bandit7
任务:下一关的密码在文件data.txt文件中单词millionth
旁边。
还是先用ls
命令查看,发现目录下面就有一个data.txt文件。先用wc data.txt
文件查看一下文件大小。
bandit7@bandit:~$ wc data.txt98567 197133 4184396 data.txt行数 单词数 字节数 文件名
这里就要使用管道符|
用grep抓取需要的内容。grep 会把匹配正确的行打印出来
所以最终命令为
cat data.txt | grep millionth
bandit8
任务:密码保存在data.txt文件中,而且密码这一行只出现了一次。也就是说有很多重复行。使用uniq 报告或忽略文件中的重复行
来达到目的。
sort data.txt | uniq -u
只显示在文件中出现了一次的行
bandit 9
任务:密码在data.txt文件中以几个‘=’开头的人类可读的字符串中。
先查看文件类型,发现文件类型是二进制。要在二进制中找字符串最好使用的命令是string 在对象文件或二进制文件中查找可打印的字符串
file data.txt
strings data.txt | grep ==
bandit 10
密码在data.txt文件中,并且包含了base64编码。base64编码的典型特征就是最后两个=号尝试一下。发现了确实有一行base64编码。那进一步使用base64 -d
进行解码
grep == data.txt
grep == data.txt | base64 -d
bandit 11
任务:密码在data.txt文件中,并且所有的小写和大写字母都经过rot13加密。ROT13原理相当下面的替换
ABCDEFGHIJKLMNOPQRSTUVWXYZ
NOPQRSTUVWXYZABCDEFGHIJKLM
在linux中有tr 将字符进行替换压缩和删除
我们可以使用这个命令进行响应的替换。
cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
bandit 12
这一关密码在data.txt文件中,这个文件是一个被多次压缩的十六进制文件。这一关主要考察的就是我们对各种压缩命令的掌握。
bandit12@bandit:/home$ ls -ld bandit12
drwxr-xr-x 2 root root 4096 Oct 7 18:43 bandit12
可以看到我们对于bandit12
目录(当前目录)只有可读的权限。不能在次目录下面创建文件和修改文件。在提示中提到了/tmp
目录下可以修改。linux会将缓存或临时文件放在/tmp目录下面,并定时清理。而这里拥有执行权限。
在这里创建一个目录,将data.txt拷贝过来。
bandit12@bandit:~$ mkdir /tmp/myfiletest1
bandit12@bandit:~$ cp data.txt /tmp/myfiletest1
因为文件是16进制文件,用xxd -r data.txt > data
将十六进制转为二进制文件。如果不知道是什么压缩方式可以使用file命令
。后面就是重复使用下面几个解压缩命令:
gunzip 解压被gzip压缩过的文件,通常以.gz结尾。
gunzip 等价于 gzip -d 命令
bzip2 将文件压缩成bz2格式,压缩包通常以.bz2格式结尾。
解压缩命令为 bzip2 -d
tar linux下的归档使用工具,用来打包和备份。
tar -zxvf 解包并解压
一直循环解压解包最后就得到密码了
bandit13
任务提示说密码在**/etc/bandit_pass/bandit14中,但是文件只能被bandit14读取。而我们现在才bandit13。后面又提示我们本目录下面有bandit14的ssh的私钥privatekey**利用ssh可以连接到bandit14。
ssh -i bandit14@localhost ./sshkey.private
连接成功,查看下一关的密码
bandit14@bandit:~$ cat /etc/bandit_pass/bandit14
bandit14
当我们在本关的localhost的30000端口提交本关的密码,就会返回下一关的密码。本关就是要学会使用各种网络连接工具。可以使用telnet,nc,ssh等工具
bandit14@bandit:~$ nc localhost 30000
4wcYUJFw0k0XLShlDzztnTBHiqxU3b3e
Correct!
BfMYroe26WYalil77FoDi9qh59eK5xNr
bandit15
题目中说在localhost的30001端口使用SSL提交本关的密码就会得到下一关的密码。网上说要使用openssl
进行连接。Google发现了可以使用OpenSSL的一个命令测试HTTPS的服务。
openssl s_client -connect <hostname>:<port>
openssl s_client -ign_eof -connect localhost:30001
BfMYroe26WYalil77FoDi9qh59eK5xNr
Correct!
cluFn7wTiGryunymYOu4RcffSxQluehd
OverTheWire的bandit游戏1相关推荐
- OverTheWire的natas游戏(21-34)
natas solution(21-34) Natas Level 20 → Level 21 Username: natas21 URL: http://natas21.natas.labs.ove ...
- Overthewire wargame-bandit
文章目录 Bandit **Level 0->Level 1** **Level 1-> Level 2** **Level 2->Level 3** **Level 3-> ...
- 当联邦学习碰上老虎机
当联邦学习碰上老虎机 原论文:Federated Multi-Armed Bandits FMAB框架 FL和MAB的自然结合-我们的动机是从非IID的(可能大量的)本地强盗模型中,以通信效率和隐私保 ...
- linux服务器配置与管理_你需要知道什么才能成为系统管理员? | Linux 中国
通过获得这些起码的能力,开始你的系统管理员职业.-- Seth Kenlon 昔日的系统管理员整天都在调教用户和摆弄服务器,一天的时间都奔波在几百米长的电缆之间.随着云计算.容器和虚拟机的复杂性的增加 ...
- OverTheWire——Bandit
今天来玩个不一样的,OverTheWire 社区提供的兵棋推演可以帮助您以充满乐趣的游戏形式学习和练习安全概念. 先从第一部分开始 已经给了主机名,用户名和密码,直接去连接就好了,注意,使用kali连 ...
- overthewire靶场之——bandit(1-10)
bandit,主要练习linux命令 Level 0 关卡介绍: Level 0 → Level 1 关卡介绍: 解决方案: Level 1 → Level 2 关卡介绍: 解决方案: Level 2 ...
- OverTheWire: Bandit通关指引
OverTheWire的Wargame对于想要学习攻防技术的入门同学来说是非常好的游戏,通过练习wargame获得基本工具的使用技巧和思路.本文梳理了Wargame入门的Bandit的一些通关技巧,旨 ...
- 熟悉linux指令游戏,Linux指令初探之闯关游戏Bandit(上)
开学季,Evan会带领小萌新们一点点接触安全领域,今天要给大家讲的是和Linux有关的一款游戏Bandit,通过Bandit你会学到Linux的一些基础指令,这对今后的学习有很大的帮助,准备好了吗让我 ...
- OverTheWire:Bandit通关WriteUp(2019.01.17完)
OverTheWire:Bandit通关全攻略WriteUp 背景 通关过程 Level 0 Level 0-->Level 1 Level 1 - Level 2 Level 2 - Leve ...
最新文章
- SM$TS_USED,SM$TS_FREE,SM$TS_AVAIL
- 乡村要振兴,快递先进村?
- zigbee看门狗综合实验_2.5KW风光互补发电教学实验系统,风能太阳能发电实训装置_搜狐汽车...
- How to resolve ATC error message Package Violation (Error) - Missing Use Access (USEM)
- linux中统计java数量,linux 统计当前目录下文件数
- 论文浅尝 | 用于开放领域的问题生成
- C 关于链表的一些操作
- 音视频技术(25)---MPEG-2、MPEG-4、H.264 与视频带宽
- android launcher推荐,追求效率的你,需要这款 Android 最快启动器:FastKey Launcher
- 将16进制unsigned char数组转换成整数
- 如何将PDF转换成xls格式的表格
- Suggestion: use tools:overrideLibrary=xxx.xxx.xxx to force usage
- 苹果A16的遮羞布被撕下了,性能提升幅度有限,被嘲讽为挤牙膏
- 基于机器视觉的表面缺陷检测方法研究进展(2022最新)
- c语言程序女设计教学效果分析,提高C程序设计教学效果的策略
- 服务器内存和常见内存的不同点在哪
- 区块链技术应用落地 区块链助力中小企业融资
- c++ ofstream write 写入失败
- 第二篇-用Flutter手撸一个抖音国内版,看看有多炫
- 跨境电商如何避免账号账密泄露带来的财产损失?
热门文章
- POJ 百练 2965: 玛雅历
- node php聊天室,利用socket.io实现多人聊天室(基于Nodejs)
- LoadRunner使用
- java 计算均值和标准差_java计算方差、标准差(均方差)实例代码
- 博客系统(界面设计)
- 包含头文件使用 书名号与双引号的区别(直接打符号竟然发表不了,太难了)
- [转载]三十四个有趣的小故事
- 教科书式RSA方案面临的攻击及防御措施
- 数字孪生技术助力高炉数字化建设的可行性
- “华为女皇”孙亚芳的这篇文章,让任正非坚定“以奋斗者为本”!