Wargames与bash知识

Wargames与bash知识之level0、level1

前言

无意发现一个学习bash的游戏Wargames,也有网友说是黑客训练游戏,不管是啥,只要能够学习bash就足够了。
网址:https://overthewire.org/wargames/
网页上的游戏推荐第一个游戏是:bandit,那咱们就从这个开始

bandit

Bandit Level 0

使用ssh连接bandit.labs.overthewire.org 端口:2220 用户名:bandit0 密码:bandit0 这个游戏的设计思路是套娃的思路,在level0游戏中获得level1用户bandit1的密码,用于进入level1环节,在level1环节获得用户bandit2的密码进入level2环节……,依次类推。建议最好使用的一个终端软件比如:MobaXterm,xshell等等,不然后续环节输入密码就会变得让人头疼。
ssh命令登录服务器:
ssh bandit0@bandit.labs.overthewire.org -p 2220
服务器登录成功会提示很多信息,涉及权限、/tmp目录的使用及“不要……”(我不懂英文,完全看不懂这些,哈哈),建议看看这些信息,英文不好就用翻译软件也能看个差不多。
使用两个命令:ls和cat获取到密码,配置ssh准备进入level1。

bandit0@bandit:~$ ls
readme
bandit0@bandit:~$ cat readme
NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL
bandit0@bandit:~$

Bandit Level 1

进入bandit1,ls一下,然后发现第一个麻烦,一个名字是连线符“-”文件。连线符“-”在上下文中会被bash解释为标准输入、标准输出,是一个特殊占位符;具体作用根据上下文来决定。例如,在命令“ls -l”中,“-l”表示长格式输出,它会显示文件的详细信息。在这种情况下,“-”代表标准输出,即命令的输出结果。
下面使用cat – 连线符是读取标准输入。(试图读取文件“-”失败)

bandit1@bandit:~$ cat -  #连线符“-”在这为读取标准输入
dsadasdas              #这是键盘输入的字符
dsadasdas              #这行是cat的输出
dsad
dsad

读取这个文件的方法一:
使用绝对路径和相对路径告诉bash这是一个文件名为“-”的文件。

bandit1@bandit:~$ cat ./-                
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
bandit1@bandit:~$ cat ~/-
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
bandit1@bandit:~$ cat /home/bandit1/-
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
bandit1@bandit:~$

读取这个文件的第二种方法:
我学习到的这种方法来源编写shell脚本后,用shellcheck检查脚本的一个报错:Useless cUseless cat. Consider ‘cmd < file | …’ or ‘cmd file | …’ instead.shellcheck(SC2002)。 具体参见

bandit1@bandit:~$ cat < -
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
bandit1@bandit:~$ < - cat
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
bandit1@bandit:~$ < - cat -
rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
bandit1@bandit:~$
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值