CTFHUB-信息泄漏

前言

又来更博了~~今天我们学习一下信息泄漏的相关知识,利用CTFhub上面的题,了解一下。

目录遍历

第一关,我们先打开靶场

 

 

 我们先点击一下,打开之后,发现这是是apache的目录遍历

 

 

 那我们挨个的找一下

 

 

 在这里发现了flag.txt,打开,便找到了flag

 

 

 PHPINFO

紧接着,第二题。先打开环境

 

 

 那我们点击查看phpinfo,

 

 

 是这样的界面,那我们利用Ctrl+F查找一下flag,因为是ctfhub开头的,那我们找一下ctfhub

 

 

 

找到flag

备份文件下载

网站源码

我们来到了这一题,有好几道题是备份文件下载类型的。先做的是这道网站源码的题,我们先打开环境,看一下

 

 

 这些是一些常见网站源码备份的文件名和后缀

说是网站源码,那我们用dirsearch扫描一下 dirsearch.py -u "url" -e* 

发现一个www.zip文件

 

 

 然后我们将它下载下来

 

 

 里面有这几个文件,打开flag_976911948.txt,发现

 

 

 那我们直接在浏览器里直接访问一下

 

 

 flag就出来了。

bak文件

这道题名字是bak文件,我们打开环境后,界面上显示

 

 

 提示flag在index.php源代码里,由于给的是bak文件,那直接访问index.php.bak文件就行了,下载下来查看一下

 

 

 flag就在里面

vim缓存

vim这个是linux系统下的从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

vim在编辑文档的过程中如果异常退出,会产生缓存文件,缓存会一直留在服务器上,引起网站源码泄露。第一次产生的缓存文件后缀为.index.php.swp,后面会产生.index.php.swo文件,第三次会产生.index.php.swn文件。

我们直接访问.index.php.swp。就会下载下来一个.swp文件,这个文件需要我们用vim打开,我们就打开虚拟机,先使用命令 vim -r index.php.swp 修复了原文件,得到flag

 

 

 .DS_Store

.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。

那我们将这个文件下载下来,然后利用记事本打开,发现一个txt文件,上面提示说flag is here

 

 用浏览器访问一下,就拿到flag了

SVN泄露

什么是SVN

svn是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

漏洞成因

当我们使用svn checkout来更新代码的时候,他会自动生成一个svn的文件夹,里面可能 存放着一些敏感的文件或者是信息,这个时候如果没有对权限进行限制,是可以访问这个文件的。这就形成一个漏洞。黑客总是利用此漏洞来下载一些网站的源代码。

工具下载

 git clone https://github.com/kost/dvcs-ripper 

进行简单配置相关要求的组件:

 sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl 

然后我们需要恢复.svn,进入工具目录/dvcs-ripper,执行下面命令开始恢复

 ./rip-svn.pl -u http://challenge-a142f813a1826d40.sandbox.ctfhub.com:10080/.svn/ 

然后查找flag

 

 

注意,其中的tree命令我们先需要使用 sudo apt-get install tree  下载一下。

最终就拿到了flag

HG泄露

在初始化项目时,HG会在当前文件夹下创建一个 .hg 隐藏文件夹,其中包含代码和分支修改记录等信息。

我们先打开环境

 

 

 

 我们需要使用dvcs-ripper工具来进行处理

 ./rip-hg.pl -v -u http://challenge-cf630b528f6f25e2.sandbox.ctfhub.com:10080/.hg/ 

然后我们使用tree命令查看一下.hg文件里的内容

 

 去store里看一下

 

 然后我们再访问一下这个文件

 

 拿到flag

 

git源码泄露

漏洞成因:

在运行git init 初始化代码库的时候,会在当前目录下产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,如果该文件没有删除而是直接发布了,那么使用这个文件,就可以恢复源代码。

posted @ 2021-04-19 05:10  AW_SOLE  阅读(314)  评论(0编辑  收藏  举报