vim缓存

点击此处获得更好的阅读体验


题目考点

  • vim 交换文件名

在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容

以 index.php 为例:第一次产生的交换文件名为 .index.php.swp

再次意外退出后,将会产生名为 .index.php.swo 的交换文件

第三次产生的交换文件则为 .index.php.swn

解题思路

思路1

利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的时明问可见字符,在vim的缓存中这些可见字符会原样保留

思路2

将缓存文件下载下来,使用vim编辑原有文件,例如下载的.index.php.swp,则说明之前编辑的文件名为index.php

会提示是否恢复,选择R进行恢复即可看到原始内容

1
2
wget http://challenge-5e11a4163c058a15.sandbox.ctfhub.com:10080/.index.php.swp
vim index.php