[WeChall] Training: Warchall – The Beginning (Realistic, Linux, Shell, Warchall)

http://www.wechall.net/challenge/warchall/begins/index.php

这又是一道很烦的题目。为什么说又?因为WeChall上面的另一道题也很烦,要玩一个文字版的类似口袋妖怪的游戏,反正我现在还没凑过钱买flag,所以writeup就先跳过,先写这道题。

那么为什么这道题烦,其实这道题很简单,烦只不过是烦在网!速!很!慢!,在SSH的远程Terminal上打一个字母要10秒之后才出现在上面…看来有空要给虚拟机挂个代理了。

所以我觉得这次不截图了!反正那么简单对不对。

看题目,我们需要解5道题获得5个flag组成整道题的flag。找flag的方式是SSH连到服务器上找,题目下方的设置密码是用于在服务器上创建挑战者的账户。

  • WELCOME.txt

这应该是登录到远程Terminal之后第一眼能看到的东西。里面有一个重点就是level0~5的flag不是放在一起的。有两个目录:1. /home/level 2./home/user/yournick/level 第二个其实就是~/level,也是第一眼能看到的东西。浏览一下可以发现level 0~3在第一个目录下,4~5在第二个目录下。

为什么?当然是因为权限管理问题。

  • level 0

虽然level 0的flag在题目中已经给了,但是我们还是要通过这道题找到大概出题人想要我们怎么找到flag。

solution: 在/home/level/0下 cat README.txt即可,一点难度都没有。但是我还是要克服万难回去截一张图,强调一件事情。

刚刚说level 0的重要性就在于你能借助它找到解决后面的题的思路。所以请记住它是如何告诉你flag的——solution是一个关键。

  • level 1

可以说level 1也没有难度。因为你只要每个文件夹都打开看一下,你总能找到SOLUTION.txt的。并且打开它也没有任何障碍。只不过从这一关开始你就可以利用 find/grep 去找关键词solution来加快你的速度了。

我更建议用 grep -rn “solution”* 这个语句,递归地寻找当前目录下的所有文件名或者内容中出现solution的情况。

于是我又没忍住回去截了一张图。所以说记住solution这个词是多么重要。

  • level 2

level 2如果你用上面的方法直接查找也是没有难度的。如果你不知道查找,你至少需要知道linux里面也有隐藏文件这回事儿,ls -a 就可以让它们都现出原形。

solution: flag写在隐藏文件夹/home/level/2/.porb 的隐藏文件.solution里面。

  • level 3

如果采用grep的方法仍然没有难度。

solution: 在/home/level/3下 cat .bash_history即可。

  • level 4

level 4需要回到自己的目录下了,即~/level/4里面。cat 一下README.txt发现Pemission Denied,ls -l查看一下权限情况。

发现用户名和组名都是我自己,这既然都是我自己的东西,只要加一下可读即可。

  • level 5

level 5同样的cat README.txt (我忘了要不要加权限了,反正经过level 4之后这一步没有难度),然后你会看到如下内容:

Protect your /home/user/chiange/level directory from other users. Then wait 5 minutes.

看来题目想要我们删掉其他用户在自己level文件夹下的权限。那我们回到自己的主目录,查看一下level的权限:

对权限问题不清楚的话可以看看下图。

反正我们就是要把其他用户的权限都剥夺掉,所以很简单:

然后过一会儿之后,神奇的事情出现了,~/level/目录下出现了一个solution.txt文件。这个时候只要给自己加上可读权限就可以cat solution.txt啦。

最后,总flag: bitwarrior,LameStartup,HiddenIsConfig,RepeatingHistory,AndIknowchown,OhRightThePerms

Leave a Comment