【Web】ctfhub基础知识之信息泄露(DS_Store后)

备份文件下载

.DS_Store

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

  1. 网址后输入.DS_Store下载文件
  2. 丢到linux直接cat,发现乱码,但有一个类似flag的txt隐藏文件
  3. 尝试输入改txt名字到网址后访问,得到flag
    在这里插入图片描述

Git泄露

当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。尝试使用github上BugScanTeam的GitHack
常用命令速查表:
在这里插入图片描述

Log

  1. 首先git一下BugScanTeam的GitHack
git clone <url>

在这里插入图片描述

  1. 输入网址,拿到网站源代码
    (坑:我的kali是2023,看别人博客写的固定格式是python2命令开头)
python2 GitHack.py http://challenge-f676dbdd5009786d.sandbox.ctfhub.com:10800/.git

在这里插入图片描述
3. cd到该网站目录下,使用git show查看日志文件

git show ;
git log  ;

在这里插入图片描述

Stash

详情见这篇文章,它介绍了git stash的概念理解,简单来说git stash用于想要保存当前的修改,但是想回到之前最后一次提交的干净的工作仓库时进行的操作.git stash将本地的修改保存起来,并且将当前代码切换到HEAD提交上.

  1. githack扫描
python2 GitHack.py http://challenge-0b370909f9d0880b.sandbox.ctfhub.com:10800/.git
  1. cd到该目录下,输入git stash show或git stash list
git stash list ;
git stash show ;

在这里插入图片描述
在这里插入图片描述

发现添加flag记录和文件
3. 执行git stash pop,还原管理员删除flag.txt文件前的版本

git stash pop

在这里插入图片描述

成功回退,还原flag文件,打开查看。

Index

按照上述githack方法直接git,git完就有flag.txt

SVN泄露

当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞

  1. 加/.svn/entries,下载文件(这是手工检查有无svn泄露漏洞的步骤)

在这里插入图片描述

  1. 后来发现以下利用这个exp工具才能解出来:dvcs-ripper
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
  1. 使用dvcs-ripper工具将泄露的文件下载到本地目录中
./rip-svn.pl -u http://challenge-eaa14bd61e9758c8.sandbox.ctfhub.com:10800/.svn

在这里插入图片描述

  1. 查看目录,查看wc.db,多用grep -去找flag,ctfhub,这一步是从别人那里学到的
    在这里插入图片描述
  2. 上述方法能适用于大项目,这个项目不大,所以一个一个遍历也能找到,只是多花点时间。大佬博客分析,网页提示说flag在服务端旧版本的源代码中,那么应该检查一下pristine文件是否存放flag
    在这里插入图片描述
    最终在.svn/pristine/72文件夹下找到

HG泄露

当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞

  1. 这题还是试试使用dvcs-ripper,不过跟上题不同的是使用的是./rip-hg.pl 而不是svn
./rip-hg.pl -u http://challenge-d9b2d8ece61934e7.sandbox.ctfhub.com:10800/.hg/

在这里插入图片描述
提示cannot find hg, 尝试找解决方法,发现公司网问题,几个依赖文件无法下载,只好偷机查看.hg下的一些文件
在这里插入图片描述
在这里插入图片描述
发现flag文件名,并访问url+flag_2871526876.txt得到flag

Summary

  1. 多积累经验,多知道各种配置文件的位置,为什么要访问那个路径?多去撞路径,思维打开
  2. 工具依赖缺失问题暂时解决不了,(详见我电脑里配置问题.txt),尽快补上,越快越好,方便使用
### CTFHub 备份 `.DS_Store` 文件处理方法 #### 使用 `Python-dsstore` 解析 `.DS_Store` 为了有效解析 `.DS_Store` 文件,推荐使用专门为此设计的 Python 库——`dsstore`。此库能够读取并解释由 macOS 创建的这些特殊文件的内容[^1]。 安装该工具可以通过 pip 完成: ```bash pip install dsstore ``` 接着利用下面给出的脚本来加载和分析目标`.DS_Store`文件的数据结构: ```python from ds_store import DSStore with open('path_to_DS_Store_file', 'rb') as f: store = DSStore.open(f, 'r') for item in store.traverse(): print(item.filename, item.values()) ``` 上述代码片段展示了如何遍历存储于`.DS_Store`中的条目及其关联元数据。 #### 获取敏感信息 由于`.DS_Store`记录了其所在目录下的所有项目详情,因此一旦获取到此类文件,则可能暴露服务器端未公开路径或内部架构布局等潜在有价值的情报[^2]。 当面对Web应用安全测试场景时,攻击者可能会尝试通过直接请求URL来检索这类隐藏资源,例如向站点根部追加`/.DS_Store`作为查询字符串部分[^4]。 #### 实际案例分享 在一个具体的挑战实例里,参与者偶然间成功下载了一个`.DS_Store`样本,并注意到其中存在可疑编码序列。起初,在Windows环境下查看未能提供有用线索;然而切换至Linux平台后却揭示出了不同寻常之处—最终指向了解谜所需的关键要素即所谓的“flag”。这说明跨操作系统的差异也可能影响对同源数据的理解过程[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值