CTFHub个人学习记录
第三章:web前置技能-信息泄露-备份文件下载-vim缓存篇
文章目录
前言
路漫漫其修远兮,吾将上下而求索。
本文涉及以下知识点,去引用文章学习即可:
链接: 我是一个知识点
链接: 我是一个知识点
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn
一、解题过程
方法一:直接访问下载
1.首先访问靶机页面并翻译,如下图所示:
2.通过提示我们可以知道flag在index.php vim交换文件里,即.index.php.swp中我们把这个文件下载下来,如下图所示:
3.打开发现flag提交即可,如下图所示:
方法二:kali中wget下载后vim恢复原有文件查看
1.缓存文件下载下来,使用vim编辑原有文件,例如下载的.index.php.swp,则说明之前编辑的文件名为index.php 会提示是否恢复,选择R进行恢复即可看到原始内容,如下图所示:
2.得到flag提交即可,如下图所示:
方法三:直接使用curl访问
1.当然也可以直接使用curl命令访问,得到flag提交即可,如下图所示:
利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的时明问可见字符,在vim的缓存中这些可见字符会原样保留
警告:二进制输出可能会扰乱您的终端。使用“–output”来说明
警告:无论如何都要卷曲以将其输出到终端,或者考虑“-output
警告:保存到文件。
链接: 如果报错请看看我QAQ
总结
大概思路和涉及的知识点(这里我一律复制网上师傅总结的即可,网上的师傅们总结的很完美,我就不东施效颦)
思路:
利用curl访问即可直接看到flag,因为vim使用的缓存存储为一种固定格式的二进制文件。而我们一般编辑的时明问可见字符,在vim的缓存中这些可见字符会原样保留