作者名:Demo不是emo
主页面链接:主页传送门
创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构每日emo:自己的奇怪归为不普通
Ctf每日刷题,带你从ctf小白到竞赛大牛,关注我来跟我一起训练吧,每日分享自己做的觉得比较有意义的题目,加油!
一:vim缓存文件泄露
题目:web9
训练平台:ctfshow
题目描述:发现网页中有个错别字?赶紧在生产环境vim改下,不好,死机了。
打开靶场如下:
还是这样一个常见的页面, 根据题目描述中的信息来看,我们可以得出以下信息
1、开发者使用的是vim编辑器
2、在使用vim编辑器的时候死机,即出现了异常退出的情况
这里就要给大家介绍一个新知识了
当开发人员在线上环境中使用vim 编辑器,打开vim编辑器,产生缓存,关闭vim缓存器,清除缓存,当vim异常退出时,缓存则会一直留在服务器上,引起网站源码泄露。
第一次产生文件的后缀名为.swp
再次意外退出产生文件的后缀名为.swo
第三次产生的后缀名为.swn
比如我用vim编辑了一个index.php文件,突然异常退出(比如电脑突然死机),就会生成一个
index.php.swp文件
注意:这个文件会以隐藏文件的形式放在该目录下 ,如果想通过网页端访问一般需要访问才行
url/.index.php.swp
这个文件就是缓存文件,里面放的就是源码,那怎么读取这个文件呢?直接使用下面的命令就好
vim -r index.php.swp
介绍完了原理,再来看这道题,目录遍历发现他只有一个index.php可以访问,说明有vim缓存溢出的应该就是这个文件,我们直接访问
url/.index.php.swp
发现没反应,有可能作者已经将该隐藏文件取消隐藏了,我们尝试直接访问
url/index.php.swp
成功下载到缓存文件,如下
因为我没在物理机部署vim,所以我们用虚拟机kali来下载,结果直接就出了,其实应该是将它下载到kali再执行刚才的命令将缓存文件恢复成正常的php文件的。
今天也只有一题,今天训练的题也简单,各位小伙伴再耐心等下