这个容器中,/home/hacker 的可用空间只有区区1 GB。
本关中,你要把 /home/hacker 塞满垃圾文件,直到连一个小小的 1 MB 文件都创建不了。
发生这种情况后,你的工作环境就无法使用了。
本挑战会让你练习制造这种情况,稍后再进一步探索。
怎样填满磁盘?
方法很多。
这里我们来认识 yes 命令!
hacker@dojo:~$ yes | head
y
y
y
y
y
y
y
y
y
y
hacker@dojo:~$
命令 yes 会不停地输出 y,永远重复下去。
它通常配合管道,用于自动回应确认提示(例如“你确定要删除这个文件吗?”)。不过,我们要用它生成一个巨大的文件,每行都是“y”。
只需把 yes 的输出重定向到主目录中的一个文件,一两分钟就能填满磁盘!
本挑战要求你先填满磁盘,再清理空间。
步骤如下:
- 填满磁盘。
- 运行
/challenge/check。它会尝试创建一个 1 MB 的临时文件。如果创建失败,你就通过了第一阶段,检查程序会要求你释放空间。
- 删除你创建的文件(使用
rm),释放空间。
- 再次运行
/challenge/check。如果现在能创建临时文件,也就是你成功清理了主目录,就会得到 flag。
注意:
在本挑战中,/home/hacker 是一个容量很小的临时主目录。
你原有主目录中的文件在这里不可用,而且保存在这里的文件也不会在挑战结束后继续保留。
为什么分成两个阶段?
通常,你的主目录会在不同挑战实例之间保留。
如果任由它一直处于满容量状态,pwn.college 就无法正常工作了。
在 pwn.college 的各种奇怪问题中,这毫无疑问是最常见的原因!
救命,环境坏了!
如果你填满磁盘后没有清理,就需要通过 ssh 登录,删除那个文件来修复环境。
这稍微有些麻烦,不过我们在“入门”模块的“通过 SSH 连接”部分介绍了具体方法。
通过 SSH 连接
在
个人设置 中绑定你的 SSH 公钥后,使用以下命令连接:
ssh hacker@dojo.pwn.college