文章目录
Git信息收集
1、什么是版本控制系统
系统代码的恢复、备份
修改仓库难以管理
整个工程直接打包,占用空间过多
Version Control System
发展阶段
- 版本管理
- 本地VCS
- 协同开发
- 文件冲突?
- 自动合并不冲突的内容
- 标记冲突的内容
- 集中化的VCS
- Centralized Version Control Systems
- CVCS
- 代表
- CVS
- Concurrent Versions System
- SVN
- CVS
- Centralized Version Control Systems
- 文件冲突?
- 去中心化
- 分布式CVS
- Distributed Version Control System
- DVCS
- 代表、
- Github、Gitlab、码云
- Git
- Linus Torwalds
- BitKeeper
- Linus Torwalds
- Distributed Version Control System
- 分布式CVS
2、为什么Git会导致信息泄露
- 把私有仓库/隐私文件提交到了github
- 部署项目的时候,不小心把 .git 文件一起打包进去,放到web网站的目录下
- .java
- .class
- war
- .class
- .git有用的内容
- .git/logs/HEAD
- 存储了git的log信息,可以找到历史的commit项
- .git/index
- 缓存git add的文件,暂存区
- .git/refs/stash
- git stash
- 把代码存入缓存区
- git stash
- .git/refs/heads/master
- 记录了master的commit的hash
- .git/objects/pack/.pack
- .git/logs/HEAD
- .java
3、Github搜索技巧
kali in:file 搜索文件中包含 kali 的代码
kali in:path 搜索路径中包含 kali 的代码
kali in:path,file 搜索路径、文件中包含 kali 的代码
shodan language:python 搜索关键字 shodan ,语言为 python 的代码
filename:config.php language:php 搜索文件名为 config.php ,且语言为 php
kali topics:>=5 标签数量大于等于 5 的
kali size:<1000 文件小于 1KB 的
kali stars:10..50 star 大于 10 小于 50 的
kali pushed:>2021-08-15 搜索在 2021 年 8 月 15 日之后提交的
kali pushed:2021-07-01..2021-08-01 搜索在此区间
kali created:>=2021-06-01 创建时间
kali pushed:<2021-08-01 -language:java 搜索在 2020 年 8 月 1 日前 push 代码且排除 java 语
4、Git信息泄露利用方式
找到.git
目录扫描
robots.txt
搜索引擎搜索
- intitle:“Index of /.git”
把.git下载到本地
https://github.com/BugScanTeam/GitHack
- python GitHack.py xxx.com/.git/
https://github.com/lijiejie/GitHack
https://github.com/wangyihang/githacker
https://github.com/WangWen-Albert/JGitHack
用git的命令获取内容
git log 获取提交记录
git reset --hard [log hash] 恢复到某个版本
git diff 对比版本差异
工具
https://github.com/gakki429/Git_Extract
5、案例
ctfhub技能树
Web——信息泄露——Git泄露——Log、Stash、Index
buuctf
- 禁止套娃
- Mark loves cat