一.".git泄露"
工具 :Git_Extract、GitHacker
下载 :git clone https://github.com/gakki429/Git_Extract.git
1.判断是否存在git泄露
利用dirsearch这类的扫描工具,如果存在泄露时会被扫描出来的
2.git的结构
工作区、暂存区、本地仓库(版本库)、远程仓库
3.常用的命令
1).git init:初始化一个git仓库
2).git add && git commit //git:添加文件和提交文件
3).git status:查看当前仓库状态和内存状态
4).git ls-files -u:显示冲突的文件
5).git diff:对比工作区和stage文件的差异
5).git diff -cached:对比stage和branch之间的差异
6).git ls-files -stage:检查保存在stage的文件
7).git log:显示到HEAD所指向的commit为止的所有commit记录
8).git reset -hard HEAD:放弃工作区和index的改动,HEAD指针仍然指向当前的commit
4.git的命令演示
二.".svn泄露"
工具 :dvcs-ripper
下载 :git clone https://github.com/kost/dvcs-ripper
1.判断是否存在svn泄露
- 使用dirsearch扫描工具去扫描网站,寻找.svn目录
- 找到泄露的.svn目录后,使用dvcs-ripper中的rip-svn.pl脚本进行克隆泄露的仓库
- 检查.svn目录中的wc.db文件,这是仓库的工作拷贝数据库,可能包含版本信息和文件内容
2.常用的命令
- svn info | grep URL获取svn服务器的URL
- svn info | grep Repository Root获取版本库的根目录
- svn info获取当前目录的版本信息
- find . -name .svn -type d列出所有的svn目录
- find . -name .svn -type d -exec rm -rf{} ;删除所有的svn目录
- find . -name ".*.svn"获取所有的svn隐藏目录
- find . -name ".*.svn" exec rm -rf {} ;删除所有的svn隐藏目录
3.svn漏洞分析演示
- 正确配置svn仓库:确保仓库只能被授权用户访问,使用强密码和访问控制列表
- 服务器安全:确保web服务器配置正确,避免.svn目录暴露在web根目录下
- 敏感信息管理:不要在源代码或配置文件中硬编码敏感信息,而是使用环境变量或外部配置文件,并确保,并确保这些文件不在版本控制内
- 定期审核:定期审核svn仓库和提交记录,确保没有敏感信息被意外提交
5.相关例题