.Git 仓库敏感信息泄露

Git介绍

        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

查看是否启动成功

Git操作

初始化仓库

1、在使用git仓库之前需要先初始化仓库,但同时为了模拟git泄露,需要将仓库初始化到web文件夹,首先进入到网站目录,cd /var/www/html。

    2、进入网站目录后方可进行初始化仓库,git init,初始化成功如下图所示。

使用git

1、首先新建一个文件,文件名login.php,文件内容如下。

<?php

echo 'Hello World!';

?>

2、将文件提交到仓库

git add login.php 文件放入到临时缓存区

git commit -m “First file”(提交说明) 提交到仓库

3、第一次使用将会提示需要输入用户信息,如下图所示

按照提示直接输入个人信息即可,内容自定

git config --global user.email "xxx@xxx.cn"

git config --global user.name "xxx"

4、再次编辑文件,文件内容如下。

<?php

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值