本文作者:crayon(信安之路贡献者) 本文接上一篇未完成的内容《原创 Linux 闯关游戏之通关秘籍》,上一篇讲到 26 关,本文内容从 27 关到 33 关
Level 26 → Level 27
这一关继续使用上一关的环境,在进入编辑模式之后,在 vi 编辑器中打开一个 shell
在编辑模式中输入 ":set shell sh=/bin/sh "
,然后回车,接着再输入 ":sh" 回车,就得到一个 shell 了,接下来就是想办法获取下一关的密码
过程:
密码为:
3ba3118a22e93127a4ed485be72ef5ea
之前到这里就结束了,后面的关卡是更新的,与 git 有关
Level 27→ Level 28
用账号:bandit27 ,密码:
3ba3118a22e93127a4ed485be72ef5ea
进入本关
描述:有一个 git 存储库 ssh://bandit27-git@localhost/home/bandit27-git/repo
。用户的密码与用户的密码 bandit27-git 相同 bandit27 。克隆存储库并找到下一级别的密码。
过程:
密码就在 README 里面
Level 28→ Level 29
用账号:bandit28,密码:
0ef186ac70e04ea33b4c1853d2526fa2
进入本关
描述:有一个 git 存储库 ssh://bandit28-git@localhost/home/bandit28-git/repo
。用户的密码与用户的密码 bandit28-git
相同 bandit28
。克隆存储库并找到下一级别的密码。
过程:
由于之前的文件夹还存在,并且没有权限删除,所以重新建一个
git log
会按提交时间列出所有的更新,最近的更新排在最上面。每次更新都有一个 SHA-1 校验和、作者的名字和电子邮件地址、提交时间,最后缩进一个段落显示提交说明。 执行命令后看到一共有三次操作记录。
git show
会显示各种类型的对象,这些对象包括 blobs,树,标签和提交。
Level 29→ Level 30
用账号:bandit29,密码:
bbc96594b4e001778eee9975372716b2
进入本关
描述:有一个 git 存储库 ssh://bandit29-git@localhost/home/bandit29-git/repo
。用户的密码与用户的密码 bandit29-git
相同 bandit29
。克隆存储库并找到下一级别的密码。
过程:
用上一关的套路并不行,但是提示是 “no passwords in production!”
中途由于卡住了,没了思路搞了很久,所以重新做了一次
创建新分支:
git branch branchName
切换到新分支:
git checkout branchName
这里关键的就是去切换分支,这卡了很久,有两个分支 remotes/origin/dev
和 remotes/origin/sploits-dev
,一个一个去看,接着套路就跟上一关一样了。
Level 30→ Level 31
用账号:bandit30,密码:
5b90576bedb2cc04c86a9e924ce42faf
进入本关
描述:有一个git存储库 ssh://bandit30-git@localhost/home/bandit30-git/repo
。用户的密码与用户的密码 bandit30-git
相同 bandit30
。克隆存储库并找到下一级别的密码。
过程:在进行下面的过程之前我将之前的套路全部试了一次都不行,克隆过程我也不再展示出来了。git clone
还会创建一个 .git
的目录,这个目录下包含了所有 git 正常工作所需要的信息 。包括对象存储,配置文件,分支和标签,HEAD 文件等 ,git reflog
可以查看所有分支的所有操作记录(包括提交、回退、已删除的提交操作记录等) ,git show-ref
它的作用是显示本地存储库中可用的引用以及关联的提交 ID。此外,它可以用来测试一个特定的 ref 是否存在。
Level 31→ Level 32
用账号:bandit31,密码:
47e603bb428404d265f59c42920d81e5
进入本关
描述:有一个 git 存储库 ssh://bandit31-git@localhost/home/bandit31-git/repo
。用户的密码与用户的密码 bandit31-git
相同 bandit31
。克隆存储库并找到下一级别的密码。
过程:
README.md 文件告诉我们,需要把一个名为 key.txt 的文件 PUSH 到远程仓库,所以继续
这里提示 .gitignore
忽略了我们提交的文件,如果想提交请用 -f 参数
在提交项目的时候,如果有不想提交的文件,就可以写到 .gitignore
里面去,提交的时候就会忽略它,这里可以看出忽略了所有的 txt 文件,所以使用 -f 强制提交
使用 git commit
命令的时候会打开 nano
编辑器,然后输入一些提交说明,然后保存即可
Level 32→ Level 33
用账号:bandit32,密码:
56a9bf19c63d650ce78e6ec0354ee45e
进入本关
描述:在所有这些git
东西后,它的时间为另一个 esape。祝你好运!
过程:
这个脚本把我的命令全部转成大写了,但是 linux 区分大小写,解决思路:写一个脚本,脚本名字用大写字母,脚本内容执行一个 shell
一定要注意当我执行 ./CRAYONSHELL
我成功获得 bandit33 的 shell
至此通关!!!
楼主残忍的关闭了评论