免责声明:本文仅做分享参考...
目录
git安装:
git目录结构:
敏感目录泄露
1-git泄露
(1)常规git泄露
scrabble工具
(2)git回滚
(3)git分支
GitHacker工具
(4)git泄露的其他利用
.git重定向问题
2-SVN泄露
dvcs-ripper工具
3-小结
dirsearch目录扫描工具
敏感备份文件
1-gedit备份文件
2-vim备份文件
3-常规文件
Banner识别
1-自搜指纹库
2-工具-Wappalyzer
python-Wappalyzer库:
3-其它
git安装:
Windows10下安装Git_win10安装git好慢-CSDN博客
git目录结构:
Git 仓库目录 .git 详解-CSDN博客
敏感目录泄露
1-git泄露
Git是一个开源的分布式版本控制系统,我们简单的理解为Git 是一个*内容寻址文件系统*,也就是说Git 的核心部分是键值对数据库。 当我们向 Git 仓库中插入任意类型的内容(开发者们在其中做的版本信息修改之类的操作),它会返回一个唯一的键,通过该键可以在任意时刻再次取回该内容.
版本控制工具
.git文件夹中有开发者所提交过的源码等等
(1)常规git泄露
---没有任何其他操作.
scrabble工具
GitHub - denny0223/scrabble: Simple tool to recover .git folder from remote server
A simple tool to recover .git folder on remote server.
Usage: scrabble <url>
Example: scrabble http://example.com/
You need to make sure target URL has folder .git 前提要确保目标网址有 .git目录.
运行该工具,即可获取源代码,flag等等.
(2)git回滚
git作为一个版本控制工具,会记录每次提交commit请求的修改,当存在git泄露时,敏感文件可能在修改中被替换或覆盖了.
---这时,我们可以通过 git reset 命令恢复到以前的版本.
先用scrabble工具获取源码,
git reset --hard HEAD^ 命令跳到上一版本.
# 必须有环境支持下运行.
--也可用 git log --stat
git log --stat # 查看每个commit修改了哪些文件
git diff HEAD <commit-id> # 比较当前版本与目标版本的变化.
# <commit-id> 为hash的前4位
(3)git分支
在每次提交时,git都会自动串成一条时间线,这条时间线就是一个分支.
git又允许使用多条分支,从而让用户可以把工作从开发主线上分离出来,以免影响开发主线.
--如果没有开发主线,那么就只有一个分支--->此分支默认为 master 分支.
我们要的敏感信息就可能不在这一条分支上,--->所以要 切换分支查找.
GitHacker工具
GitHub - WangYihang/GitHacker: 🕷️ A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches and common tags.
# install
python3 -m pip install -i https://pypi.org/simple/ GitHacker
# print help info
githacker --help
# quick start
githacker --url http://127.0.0.1/.git/ --output-folder result
# brute for the name of branchs / tags
githacker --brute --url http://127.0.0.1/.git/ --output-folder result
# exploit multiple websites, one site per line
githacker --brute --url-file websites.txt --output-folder result
--此工具功能强大,详细使用看人家文档.
--->运行后,生成本地文件夹,
通过
git log -all
git branch -v
看到master分支的信息.
git reflog
看到checkout的记录.
--->恢复分支. 后 .用命令再查找.
(4)git泄露的其他利用
.git/config 文件夹中可能包含 access_token 等信息,从而可以访问用户的其他信息.
.git重定向问题
访问 .git --->重定向 --->访问 .git/config ---返回内容,有git泄露, 反之无吧.
2-SVN泄露
SVN(subversion) 是一个开放源代码的版本控制系统.
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将 .svn 文件夹直接部署到外网环境。这就引起了 SVN 泄露漏洞。
.svn/entries
wc.db
获取服务器源码.
---------------
.svn/entries中爬取源代码
.svn/entries中爬取源代码-->返回空 --> 注意 wc.db 文件是否存在.
dvcs-ripper工具
GitHub - kost/dvcs-ripper: Rip web accessible (distributed) version control systems: SVN/GIT/HG...
Rip web accessible (distributed) version control systems: SVN, GIT, Mercurial/hg, bzr, ...
SVN, GIT, Mercurial/hg, bzr, ...
也支持HG泄露--初始化项目时生成.hg文件夹
...
Seay-svn 工具 (windows下)
3-小结
敏感文件,隐藏文件等等路径,关键在于字典的强大.
dirsearch目录扫描工具
GitHub - maurosoria/dirsearch: Web path scanner
敏感备份文件
1-gedit备份文件
Linux下,用gedit 编辑器保持后 , 会生成一个后缀名为 ~ 的文件.
flag flag~ 二者内容相同.
2-vim备份文件
vim编辑器, 编辑过程中因 意外退出 ,会生成一个备份文件:
.swp .xxx.swp
.swo
.swn
*.un.
vim中的swp即 swap(交换分区)的简写,在编辑文件时产生,它是隐藏文件。这个文件是一个临时交换文件,用来备份缓冲区中的内容。类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况.
vim -r # 查看swp文件
vim -r <filename> # 恢复文件
3-常规文件
你的 字典 强大 不?
----对所见的协议,cms,项目,等等 文件名 有所收集.
例:
robots.txt # 爬虫协议, 记录一些目录 及CMS 版本信息
readme.md #
www.zip/rar/tar.gz #网址源码备份
Banner识别
Banner信息即服务器对外显示的一些基础信息.
---专攻 特性利用...
1-自搜指纹库
CMS指纹库...
windows?
2-工具-Wappalyzer
浏览器插件 , 此工具也有python库.
python-Wappalyzer库:
python-Wappalyzer · PyPI
# pip install python-Wappalyzer
from Wappalyzer import Wappalyzer, WebPage
wappalyzer = Wappalyzer.latest()
webpage = WebPage.new_from_url('<url>')
wappalyzer.analyze(webpage)
...
3-其它
状态码返回信息
404
302
...
--服务器信息/目录遍历/包/