CTFHub技能树-备份文件下载-vim缓存

目录

方法一:直接浏览器访问

方法二:使用kali恢复vim缓存文件

方法三:直接使用curl访问

最后同样备份文件系列的都可用dirsearch扫描


当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。

一、前置知识

在编辑文件的过程中,Vim将会在当前目录中自动生成一个以.swp结尾的临时交换文件,用于备份缓冲区中的内容,以便在意外退出时可以恢复之前编辑的内容。

当完成编辑并保存退出后,临时交换文件将会被删除;但如果Vim意外退出,那么这个临时文件就会留在硬盘中。当Vim再次启动时,会检查当前目录中是否存在交换文件。如果存在,则意味着Vim正在编辑此文件,或者在上次编辑过程中意外退出,这时Vim就会给出警告信息,并要求我们在以下四个选项中做出选择:

Open Read-Only(以只读方式打开):如果我们想要查看文件内容或是有另一个编辑过程正在运行,那么可以选择此选项;

Edit anyway(编辑文件):请尽量不要选择此选项。因为如果同时有两个或是多个编辑过程同时编辑一个文件,那么只有最后一个保存的编辑过程有效;

Recover(恢复):如果在编辑过程中vim意外退出,那么可以选择此选项尝试从交换文件恢复文档;

Quit(退出):选择此选项,将取消对此文件的修改。

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

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

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

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

方法一:直接浏览器访问

直接访问/.index.php.swp文件可以看到为二进制文件

使用代码编辑器恢复文件

方法二:使用kali恢复vim缓存文件

下载该vim缓存文件

复制代码
wget challenge-801aa09cb1ad910e.sandbox.ctfhub.com:10800/.index.php.swp -p /Desktop

注意:vim缓存文件ls指令是不显示的

直接使用

复制代码
vim -r .index.php.swp

使用kali的vim编辑器恢复该vim缓存文件

方法三:直接使用curl访问

复制代码
curl challenge-801aa09cb1ad910e.sandbox.ctfhub.com:10800/.index.php.swp -o -

最后同样备份文件系列的都可用dirsearch扫描

相关推荐
hengdonghui6 小时前
Writeup 4 ByteMe CTF 2026 The Vormir Ledger
ctf·osint
文章永久免费只为良心1 天前
Ctfshow_Web应用安全与防护_第二章_无字母数字命令执行
前端·python·安全·网络安全·渗透测试·ctf·红队渗透测试
hengdonghui2 天前
Writeup 4 ByteMe CTF 2026 Sacrifice
ctf·forensics
print_Hyon3 天前
【CTF-CRYPTO-教学-RSA】第八节:超大模数n反噬攻击,已知n、e、c求m(n超大,m的e次方仍小于n,c可直接开e次方得到结果)
ctf
其实防守也摸鱼3 天前
CTF Web 6 题全解 Writeup
linux·sql·学习·算法·安全·ctf·xss
hengdonghui4 天前
Writeup 4 N1BOOK 第一章 Web 入门 · 粗心的小李
ctf·.git泄露
hengdonghui6 天前
Writeup 4 N1BOOK afr_2
ctf·目录穿越
print_Hyon7 天前
【CTF-CRYPTO-教学-RSA】第十三节:知道e、p和q的变形表达式,解密c
ctf
print_Hyon8 天前
【CTF-CRYPTO-教学-RSA】第七节:低加密指数攻击,已知n和e求c(e很小,m的e次方比n小,c可直接开方得到结果)
ctf
hengdonghui10 天前
Writeup 4 N1BOOK afr_1
ctf·伪协议·任意文件读取