Git是由林纳斯·托瓦兹(Linus Torvalds)命名的,它来自英国俚语,意思是“混账”,Git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。Git最初只是作为一个可以被其他前端(比如CoGito或StGit)包装的后端而开发的,但后来Git内核已经成熟到可以独立地用作版本控制。很多著名的软件都使用Git进行版本控制,其中包括Linux内核、X.Org服务器和OLPC内核等项目的开发流程。Git与常用的版本控制工具CVS, Subversion 等不同,它采用了分布式版本库的方式,不需要服务器端软件支持。
熟悉常见git常见操作,如上传、回归、修改仓库、漏洞发现等操作。
git操作服务器-ubuntu,1台
kali-linux,1台
1、安装Git: sudo apt-get install git
2、安装Apache,为了模拟git泄露,需要将git仓库文件泄露,所以需要安装Apache服务器:sudo apt-get install apache
Ubuntu 安装 sudo apt-get install apache2
查看是否启动成功
1、在使用git仓库之前需要先初始化仓库,但同时为了模拟git泄露,需要将仓库初始化到web文件夹,首先进入到网站目录,cd /var/www/html。
2、进入网站目录后方可进行初始化仓库,git init,初始化成功如下图所示。
1、首先新建一个文件,文件名login.php,文件内容如下。
echo 'Hello World!';
?>
2、将文件提交到仓库
git add login.php 文件放入到临时缓存区
git commit -m “First file”(提交说明) 提交到仓库
3、第一次使用将会提示需要输入用户信息,如下图所示
按照提示直接输入个人信息即可,内容自定
git config --global user.email "[email protected]"
git config --global user.name "xxx"
4、再次编辑文件,文件内容如下。
echo 'Hello World!';
echo 'helloha';
?>
5、再次将文件提交到仓库
6、现在发现想退回到以前第一次编辑状态,非常简单,直接使用git reset命令即可:git reset --hard HEAD^
在运行 git init 初始化代码库的时候,会在当前目录下面产生一个 .git 的隐藏目录,用来记录代码的变更记录等等。在发布代码的时候,而 .git 这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码。
攻击者利用该漏洞下载 .git 文件夹中的所有内容。如果文件夹中存在敏感信息(数据库账号密码、源码等),通过白盒的审计等方式就可能直接获得控制服务器的权限和机会!
1、使用kali-linux中的工具dirsearch 对目标网站进行扫描
2、信息泄露工具进行扫描
Releases · 0xHJK/dumpall · GitHub
相同的信息泄露还有:/env、/.svn、/.DS_Store、/Thumbs.db
参考:https://blog.csdn.net/Fiverya/article/details/128820611