解释:Git信息泄露是指通过公开或错误地配置版本控制系统Git,导致敏感数据(例如API密钥、数据库密码、个人信息等)被泄露到公共代码仓库或其他未授权的访问者手中。通俗来说,在公网暴露类似http://127.0.0.1/.git/(将.git目录直接被人访问)将会导致源码被人下载查看到
情况1:
情景:.git目录可以直接访问,也就是.git可以直接通过wget进行下载
wget -r http://114.67.175.224:15402/.git/(先进入下载到文件的目录然后ls -al才能看到目录下面多了个.git目录)git refloggit show d256328(d256328就是git reflog第一列的内容)情况2:
情景:.git访问为403,无法直接通过wget下载
git clone https://github.com/kost/dvcs-ripper.gitsudo apt-get install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
sudo apt-get install libparallel-forkmanager-perl libredis-perl libalgorithm-combinatorics-perl
sudo apt-get install cvs subversion git bzr mercurial
cd进入dvcs-ripper进行下载:perl rip-git.pl -v -u http://www.example.com/.git/注意:使用该工具.git信息自动下载到当前目录,没有新建文件夹,建议每次使用该工具前,重新git clone一样
解释:利用github上面提供的代码,执行后即可下载上源文件
git clone https://github.com/lijiejie/GitHack.gitpython GitHack.py http://127.0.0.1/.git/git initgit add . #'.'表示所有git commit -m 'first' #-m:messagegit remote add 自定义名字 地址 git remote rm 自定义名字git push -u 自定义添加过的远程仓库名 分支名字 #跟上面添加内容有关git statusgit rm --cached 文件名git log --oneline #可来查看唯一版本号;git refloggit resetgit reset --hard 版本号 #使得暂存区和工作区都恢复到目标版本git reset --mixed 版本号 #使得暂存区恢复到目标版本git reset --soft 版本号 #只删除commit历史,不改变暂存区和工作区git check HEAD^ #此为上一个版本,可自行复制版本号,此可切换到临时分支git branch 新分支 临时分支名 #这样是因为临时分支不会被记住,不能保存git branch 名字(创建但没有切换过去)git checkout 分支名字git merge 分支名字git branch -d 分支名字代码:git clone 地址
git config --global http.proxy http://127.0.0.1:10809git config --global http.https://gitee.com.proxy http://127.0.0.1:1081#指定对码云这个网站(全局)git config --global --unset 内容(用git config -l查看,找到代理等号前面的内容)git branchgit loggit statusgit diff git remote -v解释:当使用vim编辑器编写一个index.php文件时,会有一个.index.php.swp文件,如果文件正常退出,则该文件被删除,如果异常退出,该文件则会保存下来,该文件可以用来恢复异常退出的index.php。同时多次意外退出时将会创建新的文件
.index.php.swp.index.php.swo.index.php.swn(注意:index前有 . )恢复成原文件:vim -r .index.php.swp