vim缓存-交换文件

Catf1agCTF靶场 web swp

题目链接:http://catf1ag.cn/

个人博客:https://sword-blogs.com/

题目考点:

vim在编辑文档的过程中如果异常退出,会产生缓存文件

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

后缀是区分这些交换文件的方法同一个文件产生的多个交换文件的后缀是不一样的

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

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

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

以s 开头 第二位由 uvw 组成 第三位a-z

使用vim -r可以查看交换文件

使用 vim -r index.php可以恢复交换文件

恢复之后需要删除交换文件·rm -rf .index.php.s*要不然下次打开文件的是还是会有提示

解题思路

code1:

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

code2:

将缓存文件下载下来,使用vim编辑原有文件,例如下载的.index.php.swp,则说明之前编辑的文件名为index.php会提示是否恢复,选择R进行恢复即可看到原始内容

code:3

复制代码
如果扩展名是 ".swp" 的文件已经存在,逐次递减最后的字母,直到找到没有现存文件的名字为止。如果过了 ".saa" 还找不到,不建立交换文件。

可以burp爆破所有可能性

解题方法

在浏览器url后面加上.index.php.swp会自动下载交换文件

使用记事本打开可以看到flag 因为在vim的缓存中这些可见字符会原样保留

在Linux系统种使用vim -r index.php.swp可以看到文件的完整内容

CTFhub的技能树中也有一道相同的题目 VIM缓存

相关推荐
ylscode15 小时前
npm遭遇大规模供应链投毒:@antv生态被植入Shai-Hulud后门,全球开发者需紧急排查
网络·安全·web安全·安全威胁分析
谪星·阿凯18 小时前
内网渗透之横向移动实战
网络·web安全·网络安全
老詹图解IT18 小时前
AI时代的个人隐私与网络安全自保——从账号密码到设备行为的完整体系
人工智能·安全·web安全
爱吃龙利鱼18 小时前
MobaXterm连接ubuntu26.04无法在vim界面粘贴问题解决方法(粘贴会提示进入进入可视模式VISUAL))
linux·ubuntu·编辑器·vim
wanhengidc18 小时前
云手机手游搬砖 梦境护卫队
运维·服务器·安全·web安全·智能手机
白雪落青衣18 小时前
BUU SQL COURSE 1 sql注入
数据库·sql·web安全·网络安全
Dlrb121119 小时前
C语言-Linux系统下的俄罗斯方块实现
linux·c语言·vim·终端·碰撞检测·俄罗斯方块·vt100
持敬chijing19 小时前
BUUCTF-WEB详细解题攻略1(按解出数降序排序)
网络·web安全·网络安全·网络攻击模型·安全威胁分析·web
其实防守也摸鱼19 小时前
软件安全与漏洞--软件安全测试
网络·软件测试·安全·web安全·安全性测试·软件安全·软件安全测试
数字供应链安全产品选型20 小时前
2025年Gartner中国安全技术成熟度曲线解读:软件供应链安全从“过热”到“落地”的演进之路
人工智能·web安全·单元测试·软件供应链安全