CTF:信息泄露.(CTFHub靶场环境)
“ 信息泄露 ” 是指网站无意间向用户泄露敏感信息,泄露了有关于其他用户的数据,例如:另一个用户名的财务信息,敏感的商业 或 商业数据 ,还有一些有关网站及其基础架构的技术细节 等泄露信息。泄露敏感的用户或业务数据的危险相当明显,但是泄露技术信息有时可能同样严重,尽管某些信息用途有限,但它可能是暴露其他攻击面的起点,其中可能包含其他的漏洞。
目录:
CTF:信息泄露.(CTFHub靶场环境)
CTF:信息泄露:
(1)目录遍历:
(2)PHPINFO:
(3)备份文件下载:
1.网站源码:
2.bak文件
3.vim 缓存
4..DS_Store
(4)git 泄露:
1.Log
2.Stash
3.lndex
(5)SVN 泄露
(6)HG 泄露
CTF:信息泄露:
(1)目录遍历:
目录遍历是 Web 漏洞,该漏洞可以遍历服务器上的任意文件,可能包含用户数据、程序代码等敏感信息的泄露。漏洞原理是因为没有过滤用户输入的 ../ 相关的目录跳转符,使得攻击者通过目录跳转符来遍历服务器中的任意文件。
① 点击进入环境.
② 这里有提示信息,如果页面没有直接信息提示,我们按 F12 查看前端代码里面有没有信息提示.
③ 寻找 flag 文件 (我们知道这个是 目录遍历 漏洞,所以挨着点一个一个看就可了.)
(2)PHPINFO:
PHPInfo 函数信息泄露漏洞常发生一些默认的安装包,比如 phpstudy 等,默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为 phpinfo.php、1.php 和 test.php,然后通过phpinfo 获取的 php 环境以及变量等信息,但这些信息的泄露配合一些其它漏洞将有可能导致系统被渗透和提权.
① 点击进入环境.
② 这里有提示信息,如果页面没有直接信息提示,我们按 F12 查看前端代码里面有没有信息提示.
③ 寻找 flag 文件.(查看了一下也没有其他可以操作的地方,所以直接查找页面 关键字 看看)
“ ctrl+f是查找的快捷键,一般是在大量笔墨网页或文档内快捷找到位置.”
(3)备份文件下载:
1.网站源码:
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露.
① 点击进入环境.
② 这里有提示信息,如果页面没有直接信息提示,我们按 F12 查看前端代码里面有没有信息提示.
③ 寻找 flag 文件.
方法:
(1)题目给的提示,然后每个都去试一遍.(2)使用 dirsearch 进行扫描.
2.bak文件
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露.
① 点击进入环境.
② 利用提示信息.
③ 寻找 flag 文件.(由于是 bak 文件的泄露,所以要在后面添加 .bak )
3.vim 缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。在编辑时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容.
① 点击进入环境.
② 利用提示信息.
③ 寻找 flag 文件.(由于是 vim 缓存 泄露,所以在要在后面添加 .swp )
后缀添加的 文件名 可能发生变化:第一次文件名可能为 .index.php.swp第二次文件名可能为 .index.php.swo 第三次文件名可能为 .index.php.swn从上到下每一个文明名都试一遍.
因为这是缓存文件,所以需要我们还原出原本的内容,使用 linux 系统:vim -r "index.php.swp"vim -r "文件名"
4..DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单.
① 点击进入环境.
② 利用提示信息.(然后直接在后面添加 .DS_Store )
③ 寻找 flag 文件.
乱码,然后直接使用 linux 系统:(把文件放在 linux 系统中)cat DS_Store // 打开文件
(4)git 泄露:
git 是一个主流的分布式版本控制系统,开发人员在开发过程中经常会遗忘.git文件夹导致攻击者可以通过.git文件夹中的信息获取开发人员提交过的所有源码,进而可能导致服务器被攻击而沦陷。当前大量开发人员使用 git 进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境,这就引起了git泄露漏洞。
1.Log
由于 git log 命令用不了,后面找到方法,则完善.
(★★★致命错误:您的当前分支 'master' 尚无任何提交)
2.Stash
3.lndex
(5)SVN 泄露
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境,这就引起了 SVN 泄露漏洞。
准备工作(适合在 Linux 环境中使用):
(1)需要下载 dvcs-ripper 工具,这样方便 漏洞的利用.
https://github.com/kost/dvcs-ripper
(2)再安装工具所需依赖库:
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
① 点击进入环境.
② 利用提示信息.(这里提示说是 SVN 泄露漏洞 )
③ 寻找 flag 文件.(利用上面下载的工具)
先用扫描目录的工具,扫描到 .svn 的文件(dirb)
找到目录,再利用下载的工具 dvcs-ripper 工具将泄露的文件下载到本地目录中
切换到 下载的工具目录中: ./rip-svn.pl -u 泄露的 .svn 文件路径
下载下来后,查看有没有成功.ls -al
切换到 下载下来的目录中,查看文件去找这些目录中有没有 flag 文件的信息:cd .svncat wc.db // 查找的过程中发现这个目录有 flag 信息
然后利用这个信息去访问一下,发现是 404 没有信息,可能已经被删除了.
但是网页提示说 flag 在服务端旧版本的源代码中,所以检查一下 pristine 文件是否存放 flag cd pristinels -al
切换到 38 这个文件,然后进行查看,发现 flag 信息.
(6)HG 泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境,这就引起了 hg 泄露漏洞。
准备工作(适合在 Linux 环境中使用):
(1)需要下载 dvcs-ripper 工具,这样方便 漏洞的利用.
https://github.com/kost/dvcs-ripper
(2)再安装工具所需依赖库:
sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
① 点击进入环境.
② 利用提示信息.
③ 寻找 flag 文件.(利用上面下载的工具)
先用扫描目录的工具,扫描到 .hg 的文件.
找到目录,再利用下载的工具 dvcs-ripper 工具将泄露的文件下载到本地目录中
切换到 下载的工具目录中: ./rip-svn.pl -u 泄露的 .hg 文件路径
下载下来后,查看有没有成功.ls -al
切换到 下载下来的目录中,查看文件去找这些目录中有没有 flag 文件的信息:
cd .hg // 切换到 .hg 文件ls // 查看 所以文件信息grep -r flag * // 在这个目录的所以文件中 查找 flag 有关的信息
利用 找到的信息进行访问.(发现 flag 信息)
参考文章:ctfhub技能树 信息泄露 目录遍历 PHPINFO 备份文件下载_谨溪的博客-CSDN博客