信息泄露
信息泄露(Information Disclosure)通常指题目中意外暴露了敏感数据或隐藏信息,这些信息可能直接或间接帮助解题者获取Flag
常见类型如下:
php
HTTP请求
robots协议
目录扫描:dirsearch/gobuster扫描
源码泄露:git泄露/SVN泄露/HG泄露
文件/源码泄露
目录遍历
域名(DNS)解析
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210111400639.png)
目录遍历
打开环境,是如下界面,查看源码并无有用信息
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210111542144.png)
点击寻找flag
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210111616426.png)
接下来只需要一个一个点击即可,找到此文件,点击即可查找flag
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210111708553.png)
或者使用脚本获取
python
import requests
url = "http://challenge-915f58a5bc2422c4.sandbox.ctfhub.com:108000/flag_in_here/"
for i in range(5):
for j in range(5):
# URL字符串拼接
url_test =url+"/"+str(i)+"/"+str(j)
# 获取页面响应内容
r = requests.get(url_test)
# 设置编码方式
r.encoding = 'utf-8'
# 查找是否存在 flag.txt
get_file=r.text
if "flag.txt" in get_file:
print(url_test)
# 此程序只适用于flag.txt文件形式存在的flag
PHPINFO
打开环境,查看源码,没有任何信息泄露,点击查看
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210163049315.png)
ctrl+f,搜索flag,查找成功
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210163117462.png)
备份文件下载
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210163224422.png)
网站源码
打开环境
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210164622833.png)
dirsearch扫描一下目录,发现www.zip
bash
dirsearch -u http://challenge-b4ebb5050665bf49.sandbox.ctfhub.com:10800/ -e*
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210164412614.png)
访问www.zip,下载该文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210164205789.png)
打开压缩包逐一查看,都没有有用信息
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210164530361.png)
在浏览器访问一下,得到flag
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210164641607.png)
bak文件
.bak文件 是常见的备份文件扩展名,通常由软件自动生成或用户手动创建,用于在修改或覆盖原始文件前保存副本
根据提示访问之后还是该页面
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210174215335.png)
由题目名字尝试访问 index.php.bat
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210174307939.png)
下载并查看,得到flag
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210174359615.png)
也可以使用curl命令,将源码打印出来
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210174920856.png)
vim缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
这里介绍一下产生的结果:
bash
第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn
可以目录扫描一下该网站
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210180207861.png)
访问一下,下载下来
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210180103643.png)
这里可以直接访问获取
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210180312843.png)
或者在kali里,执行以下命令恢复文件,任何查看即可
bash
vim -r index.php.swp
![](https://track123.oss-cn-beijing.aliyuncs.com/20250210180740688.png)
.DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
访问 /.DS_Store并下载
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212143546925.png)
在记事本打开,发现一个txt文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212143717647.png)
访问该txt文件,得到flag
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212143828079.png)
Git泄露
Git泄露 通常指的是在使用Git进行版本控制时,意外地将敏感信息或代码公开。这可能包括机密数据、API密钥、密码或其他不应该公开的信息。Git泄露可能会导致安全风险,因为这些敏感信息可能被恶意用户利用。
工具下载
php
git clone https://github.com/BugScanTeam/GitHack.git
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212151800936.png)
使用时候需要切换python2版本
php
update-alternatives --config python
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212163334445.png)
Log
当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题
打开环境,在kali里执行以下命令
php
python GitHack.py http://challenge-8997207b4373c264.sandbox.ctfhub.com:10800/.git/
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212163407725.png)
会在dist目录下生成一个文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212163451410.png)
进入该文件,执行git log ,可以看到flag在第二个日志信息里,使用版本回退命令-reset
php
git reset --hard c60e6bfeac9700e386a61a7169c311df9c4cf3a0
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212163535533.png)
会在该目录下生成flag文件,打开即可
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212163712895.png)
Stash
如此执行之后,打开文档内容是假的
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212170325059.png)
具体方法和之前的相同,不同点在于需要将最新存储的更改(即最近的 stash)应用到你当前的工作分支上。
php
git stash pop
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212170104500.png)
然后查看文档即可
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212170232241.png)
Index
恢复完成之后在这个文档直接就可以查看
![](https://track123.oss-cn-beijing.aliyuncs.com/20250212170536457.png)
SVN泄露(subversion)
该题需要利用dvcs-ripper工具工具
php
git clone https://github.com/kost/dvcs-ripper
初始文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213151551834.png)
检测该漏洞
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213145823288.png)
访问 url/.svn/
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213145841700.png)
结合提示确定是SVN泄露
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213145857957.png)
执行以下命令
php
cd dvcs-ripper
perl rip-svn.pl -v -u http://challenge-00ab51d964931f2d.sandbox.ctfhub.com:10800/.svn/
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213150803612.png)
ls -al 查看,发现一个隐藏的**.svn**文件
php
entries:这是一个 XML 格式的文件,记录了当前目录下的所有条目(包括文件和子目录)的版本控制信息
format:这个文件记录了当前工作区使用的 SVN 格式版本
pristine:这是一个目录,用于存储文件的"原始"(pristine)版本
text-base :这是一个文件,用于存储某个文件的"基准"内容。如果一个文件未被修改,它的 text-base 文件与工作区文件完全一致。
tmp:这是一个临时目录,用于存储 SVN 操作过程中的一些临时文件
wc.db:这是工作区数据库文件(SQLite 格式),用于存储有关当前工作区的元信息
wc.db-journal:数据库的事务日志文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213151752792.png)
wc.db是svn的数据库文件,查看
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213151921362.png)
发现一个flag文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213152013483.png)
查看 flag_2400911700.txt
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213152041826.png)
根据题目提示在服务器旧版本中,pristine是存放旧版本源码的文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213152351690.png)
得到flag
HG泄露(Mercurial)
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将**.hg** 文件夹(存在目录列表)直接部署到线上环境。这就引起了 hg 泄露漏洞。
检测方式
php
访问 http://目标地址/.hg/,若返回目录列表或非404状态码(如403),可能存在泄露。
访问关键文件(如http://目标地址/.hg/dirstate或http://目标地址/.hg/requires),若存在则确认泄露。
或者dirsearch目录扫描
执行以下命令恢复
php
cd dvcs-ripper
./rip-hg.pl -v -u http://challenge-bc1d26a96ebd2a34.sandbox.ctfhub.com:10800/.hg/
恢复完成之后查看,可以看到是存在flag的,蓝色的表示是一个目录
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213161203308.png)
进入store目录查看
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213161529669.png)
再看看fncache文件
![](https://track123.oss-cn-beijing.aliyuncs.com/20250213161551830.png)
最后在浏览器访问即可
php
http://challenge-bc1d26a96ebd2a34.sandbox.ctfhub.com:10800/flag_2857223930.txt