目录遍历
知识点
许多的Web应用程序一般会有对服务器的文件读取查看的功能,大多会用到提交的参数来指明文件名。
路径遍历漏洞隐藏一般在文件读取或者展示图片功能块这样的通过参数提交上来的文件名
题解
点击之后会跳转到flag_in_here这个目录,挨个对里面的目录进行寻找拿到flag
PHPINFO
知识点
PHPinfo:输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。
phpinfo() 同时是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。
题解
打开是这样的~
浏览目录找到flag
备份文件下载
网站源码泄露
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
知识点
常见的网站源码的文件名有:’web’, ‘website’, ‘backup’, ‘back’, ‘www’, ‘wwwroot’, ‘temp’等等。
常见的网站源码备份文件后缀有:’tar’, ‘tar.gz’, ‘zip’, ‘rar’等等。
题解
只需在网站根目录对可能存在的备份文件名进行遍历爆破。就可以下载到网站源码。
bak文件泄露
知识点
有些时候网站管理员可能为了方便,会在修改某个文件的时候先复制一份,将其命名为xxx.bak。而大部分Web Server对bak文件并不做任何处理,导致可以直接下载,从而获取到网站某个文件的源代码~
题解
访问链接,看到这样:
flag在index.php的源码里,同时我们想到这是bak文件,试试访问
用notepad++打开
vim缓存
知识点
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn
题解
将缓存文件下载下来,使用vim编辑原有文件,例如下载的 .index.php.swp,则说明之前编辑的文件名为index.php
会提示是否恢复,选择R进行恢复即可看到原始内容
.DS_Store文件泄露
知识点
.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。
如果开发/设计人员将.DS_Store上传部署到线上环境,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。
在发布代码时未删除文件夹中隐藏的.DS_store,被发现后,获取了敏感的文件名等信息。
这里需要一个py脚本:Python-dsstore-master
题解
进入Python-dsstore-master目录
依次输入下图的命令:
生成.DS_Store.ctfhub(名字可以自定义)
用Python-dsstore-master目录中的main.py对刚刚生成的文件.DS_Store.ctfhub进行解析。
访问我们看到的.txt文件得到flag