前言:vim不正常退出会导致残留隐藏文件,会造成源码泄露
vim交换文件名
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo
的交换文件
第三次产生的交换文件则为 .index.php.swn
利用思路
思路一
利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的时明问可见字符,在vim的缓存中这些可见字符会原样保留思路二
下载下来之后用vim -r参数恢复文件1
2wget http://challenge-5e11a4163c058a15.sandbox.ctfhub.com:10080/.index.php.swp
vim -r index.php
wget下载了之后就可以用vim -r
恢复
最后得到flag啦~~