目录
一、网站源码
题目要求:当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
题目给出了提示:
我们使用DirBuster对网站目录进行扫描,扫描的文件名和类型就是提示给出的,最终扫描得到www.zip文件,输入网址URL/www.zip得到压缩文件,解压后得到:
我们打开flag_420317564.txt文件,并没有找到flag
在网址后面添加了那个txt文件的名字进行访问访问,就可以获得flag
二、bak文件
题目要求:当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
bak文件泄露
有些时候网站管理员可能为了方便,会在修改某个文件的时候先复制一份,将其命名为xxx.bak。而大部分Web Server对bak文件并不做任何处理,导致可以直接下载,从而获取到网站某个文件的源代码。
题目提示:
可知flag应该在index.php的备份文件里面,于是访问/index.php.bak,下载文件得到flag。
三、vim缓存
题目要求:当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
非正常关闭vim编辑器时会生成一个.swp文件
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn。
题目提示:
因为这里已经告诉我们是index.php了,所以其意外退出而保留的临时文件是 .index.php.swp,我们访问/.index.php.swp,得到交换文件.swp。
可以使用vim -r {your file name} 命令来恢复文件,
恢复后的文件内容如下:
我们对给文件内容另存为,只要在:w 后面加上文件名字,就能把当前的编辑内容另存到其他文件中去。:w new_filename
四、.DS_Store
题目要求:
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
题目提示:
我们猜测直接访问/.DS_Store看有什么收获,发现下载了一个文件DS_Store,打开后发现乱码,因此我们使用.DS_Store 的解析工具Python-dsstore进行文件的解析。
可以看到这个目录里面只有一个文件,8b19a301f4227963b00016943f1730ec.txt,我们直接访问这个文件,得到: