Git泄露、Vim泄露、DS_Strore泄露
简介
Git泄露是十分常见的漏洞,可以快速上手。
.git文件夹是git init后在当前目录生成的一个管理git仓库的文件夹,这里包含所有git操作所需要的东西,在使用github储存库时如果没有处理好,很有可能能够通过它获取到信息。
相关目录解释:
hook:存放一些sheel的地方。
info:存放仓库的信息
object:存放所有git对象的地方
refs:存放提交hash的地方
config:github的配置信息
description:仓库的描述信息,主要给gitweb等git托管系统使用
HEAD:映射到ref引用,能够找到下一次commit的前一次哈希值
Vim是linux中的常用编辑器
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为 .filename.swp,(第一次产生的交换文件名为“.filename.txt.swp”;再次意外退出后,将会产生名为“.filename.txt.swo”的交换文件;而第三次产生的交换文件则为“.filename.txt.swn”)
备份文件名为 filename~
DS_Store是mac上的常用shadow
DS_Store 是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。删除以后的副作用就是这些信息的失去。
————————————————
上述知识原文链接:https://blog.csdn.net/qq_26406447/article/details/90510433
Git泄露
dirb
推荐使用dirb进行扫描,工作方式也是字典爆破,不过它能够对限制性目录,.git进行扫描,我们可以发现线索。
使用方法:
dirb http://ip:port
扫描到这种东西,说明就是git泄露了。
你可以理解为泄露了一个shadow,可以对过去的命令和操作进行还原和查看。
Githack
首先是Githack,在这类问题中非常常用的一个工具,链接:
https://github.com/lijiejie/GitHack
像这样使用即可:
工作原理也非常简单,对相关文件进行请求并对文件进行尽可能还原,只是不需要你慢慢使用命令下载,不过,也有一些缺点,它的注重点是还原文件,对其他东西关注甚少,比如你需要关注命令日志,操作检查等等,那还是自己来吧。
手写命令
常用流程:
扫描到有.git目录后将其下载下来
wget -r 链接(带.git)后缀
-r参数代表递归下载,并且会下载到一个文件夹中查看
下载完毕后,进入文件夹,在那里开终端:
git reflog
这个命令可以查看所有分支的所有操作记录(包括提交、回退、已删除的提交操作记录等 )。
会产生一些命令编号:
使用:
git reset 命令编号
回退命令,会产生回退之后带来的东西:
查看该命令操作状态
git status
可以看到这个回退操作会删除本身上传的文件和修改过的网页
git checkout -- 文件名
用来取消reset的修改操作,即可以对文件进行恢复,完全撤回操作。
这时,你就可以看看你要查看的文件了
vim思路
漏洞出现提示:
源码中出现
思路:
说明可能存在.swp备份文件,正常URL:xxx/index.php
则尝试URL:xxx/index.php.swp下载.swp文件代码
并使用vim打开,打开命令:vim -r index.php.swp
打开后则发现源码,进行代码审计
不过notepad啥的貌似也能打开
Ds_Store泄露
首先对于该泄露的发现,仍然是使用dirsearch等工具进行发现。
发现有.DS_Store
的网页就代表有DS_Store泄露。
找到该url后就可以使用工具将备份文件下载下来了。
Ds_Store_exp
工具链接:
https://github.com/lijiejie/ds_store_exp
以下介绍为工具官方的readme文档
ds_store_exp文档
A .DS_Store
file disclosure exploit.
It parses .DS_Store file and downloads files recursively.
这是一个 .DS_Store 文件泄漏利用脚本,它解析.DS_Store文件并递归地下载文件到本地。
Usage: python ds_store_exp.py http://www.example.com/.DS_Store
Install
pip install -r requirements.txt
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