CTFHUB-信息泄露-.hg泄露

前置知识:

1
2
3
Mercurial 是一种轻量级分布式版本控制系统,

使用hg init 新建仓库的时候,会生成一个备份文件.hg。当然也存在着泄露问题,不过较为少见 ,关于这个.hg文件泄露,网上的示例也很少,暂时还没有找到合适的呈现给大家 。

进入靶机,发现提示 ,“试着手工解决”,一开始没明白什么意思。

先用dirsearch扫描下目录,

访问/.hg/dirstate,第一次直接403,以为这种方法行不通,就没继续尝试,而是去百度找下相应漏洞利用,发现网上的利用方式是用dvcs-ripper,具体见下

使用这个命令后,发现下载的.hg文件里没有flag相关信息,然后就没了思路。再回到靶机查看是不是有漏掉的信息,然后注意到了“不太好使的情况下,试着手工解决”,再次访问/.hg/dirstate,这次居然下载了一个文件,打开发现flag的一个txt文件

访问该文件,发现flag

CTFHUB-信息泄露-SVN泄露

前置知识:

1
.svn文件是subversion的版本控制信息文件 当某个目录处于subversion的版本控制时,在这个目录中就会.svn这个文件夹,这个.svn文件夹中的文件就是一些版本信息文件,供subversion使用,一般不要人为去改这些文件。

前置工具下载:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
在Kali下下载工具dvcs-ripper——专门针对SVN泄露问题

1,sudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl #安装环境
2,sudo apt-get install libparallel-forkmanager-perl libredis-perl libalgorithm-combinatorics-perl
#faster git rip(可选,更快的),
3,sudo apt-get install cvs subversion git bzr mercurial(千万别,很大,要下很久)
#And if you need all clients supported:(如果你需要支持所有客户端)
4,git clone https://github.com/kost/dvcs-ripper #下载

注:不是四步都执行,执行1-3中任一一个,然后再执行4,工具就下载好了。
使用方法 :
rip-svn.pl -v -u http://www.example.com/.svn/
例子:
./rip-svn.pl -v -u http://challenge-b339ce6a31fb709c.sandbox.ctfhub.com:10800/.svn/

注释:
如果输入命令后显示未找到命令,就在前面加上./,原因可能跟目录有关

进入环境,发现

题目就是考察.svn文件 知识的,直接访问.svn试试,

发现无法访问,这时就用到开始下载的工具了,执行命令

但是发现dvcs-ripper中只有一个index.html文件,而且该文件里没有flag相关信息。这是正常的,我们在dvcs-ripper下打开终端,

输入 ls -al,

发现里面还有个隐藏文件夹.svn,进入该文件夹,

接下来很好办了,就一个一个文件找flag信息,最后在pristine/02下的文件里找到flag。

注:dvcs-rippper下的wc.db中也有flag的信息,是一个txt文件

访问这个文件,是打不开的,是个错误信息。

CTFHUB-信息泄露-备份文件下载-.DS_Store

前置知识:

1
2
3
ds_store是自定义属性的隐藏文件。ds_store全称“Desktop Services Store”,
是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,
例如文件们的图标位置或者是背景色的选择。

进入页面发现提示

猜想flag很可能在隐藏文件DS_Store文件里,访问网站的.DS_Store文件,下载DS_Store文件,打开发现

首先我想的是txt文件前的数字是不是采用了什么编码,然后我试着解码,折腾了好一段时间也没发现这些数字隐藏了什么信息,于是放弃了这个思路。随后看到数字后面紧挨着.txt,猜想flag可能在网站的该文件里,把数字间的空格去掉试着访问该文件,发现flag

CTFHUB-信息泄露-备份文件下载-vim缓存

前置知识:

1
2
3
4
5
6
7
8
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,
当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容

以 index.php 为例:第一次产生的交换文件名为 .index.php.swp

再次意外退出后,将会产生名为 .index.php.swo 的交换文件

第三次产生的交换文件则为 .index.php.swn

进入靶机发现提示

由前置知识分析,感觉index.php的vim缓存文件应该是.index.php.swp,.index.php.swo,.index.php.swn其中一个,访问.index.php.swp,下载一个文件,打开直接发现flag

CTFHUB-信息泄露-备份文件下载-bak文件

前置知识:

1
bak是一个备份文件,为文件格式扩展名。这类文件一般在.bak前面加上应该有原来的扩展名比如windows.dll.bak,或是windows_dll.bak,有的则是由原文件的后缀名和bak混合而成。

开始做题,进入页面,

发现flag在index.php中,由本题题目“bak文件”以及前置知识分析得,flag应该在index.php文件的备份文件里,index.php备份文件为index.php.bak,访问该文件,直接下载了index.php.bak 文件,打开发现flag

CTFHUB-信息泄露-备份文件下载-网站源码

进入页面,发现网站源码文件的相关提示,由于组合较少,可以直接手动组合验证文件是否存在(组合多的话还是使用bp爆破验证)

1

最后访问www.zip, 下载了一个压缩包文件,解压打开发现含有flag的一个txt文件,

但是打开发现没有flag,想到这题是源码泄露,那么该txt文件应该存在于网站服务器上,试着在网站上访问该txt文件,发现flag

3