LOADING

版本管理软件造成的泄露

网络安全

版本管理软件造成的泄露

Git源码泄露

漏洞产生

Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。

漏洞危害(泄露内容)

漏洞利用

常规的利用方法就是下载整个目录, 然后用git命令回滚整个项目

wget -r --no-parent --mirror http://www.example.com/.git
cd www.example.com && git reset --hard

漏洞利用工具:GitHack、dvcs-ripper

  1. GitHack github项目地址:https://github.com/lijiejie/GitHack

  2. dvcs-ripper:基于perl的工具,除了git还支持很多版本管理系统 github项目地址:https://github.com/kost/dvcs-ripper

SVN源码泄露

漏洞产生

SVN是一个开放源代码的版本控制系统。 在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。 网站管理员在发布代码时,没有使用“导出”功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。

漏洞危害(泄露内容)

  • 所有该项目的源代码
  • svn仓库的地址
  • svn仓库所属用户的用户名

漏洞利用

同样是先下载目录, 然后回滚

wget -r --no-parent --mirror http://www.example.com/.svn
cd www.example.com && svn revert --recursive

漏洞利用工具:Seay-SVN、dvcs-ripper

  1. dvcs-ripper: 支持旧版和新版的svn github项目地址:https://github.com/kost/dvcs-ripper
  2. Seay-Svn: 法师的工具,基于Windows平台 下载地址:https://www.vuln.cn/2225

hg源码泄露

漏洞产生

Mercurial是一种轻量级分布式版本控制系统,使用hg init的时候会生成.hg。

漏洞危害(泄露内容)

  • 项目源代码
  • 项目仓库地址
  • (可能)仓库的用户名

漏洞利用

手动利用,下载+回滚:

wget -r --no-parent --mirror http://www.example.com/.hg
cd www.example.com && hg revert

漏洞利用工具:dvcs-ripper

  1. dvcs-ripper github项目地址:https://github.com/kost/dvcs-ripper

CVS泄露

漏洞产生

CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。主要是针对 CVS/Root以及CVS/Entries目录,直接就可以看到泄露的信息。

漏洞危害(泄露内容)

因为是纯客户端的工具,所以只会泄露源代码

漏洞利用

下载CVS文件夹然后通过cvs命令获取源码信息,不过似乎没有直接的回滚操作,需要做点额外的处理。

wget -r --no-parent --mirror http://www.example.com/CVS
cd www.example.com && cvs diff *

漏洞利用工具:dvcs-ripper

  1. dvcs-ripper

Bazaar/bzr泄露

漏洞产生

bzr也是个版本控制工具,虽然不是很热门,但它也是多平台支持,并且有不错的图形界面,bzr在初始化项目时(bzr init/init-repo),会在项目根目录产生名为.bzr的隐藏目录,同样暴露了源代码和用户信息。

漏洞危害(泄露内容)

  • 源代码
  • 仓库地址
  • 开发者的信息

漏洞利用

没用过bzr工具, 不过查询文档得知可用bzr revert命令来进行回滚

wget -r --no-parent --mirror http://www.example.com/.bzr
cd www.example.com && bzr revert

漏洞利用工具:dvcs-ripper

GitHub源码泄漏

漏洞产生

GitHub是一个面向开源及私有软件项目的托管平台。很多人喜欢把自己的代码上传到平台托管,通过关键词进行搜索,可以找到关于目标站点的敏感信息,甚至可以下载网站源码。类似的代码托管平台还有很多,人才是最大的漏洞。