版本控制在一个项目程序的开发过程中是必不可少的,以下介绍一下全球比较著名的版本控制系统,以及如何利用该系统进行入侵渗透.
CVS
虽然CVS很简单,但是仍然可以使用备份文件。
SVN
Subversion是现今最广泛使用的版本控制系统。
GIT
由Linus Torvals创建的,其主要特点是分散的代码视图。
Mercurial
和GIT非常相似,但有些更快,更简单。
Bazaar
类似Git和Mercurial,但更容易。
在这篇文章中,我们将看看通过http和https访问不同的版本控制系统能获得什么信息。大多数版本控制系统可以被配置为访问专有协议,如SSH、HTTP.正常情况下版本控制系统的信息都是需要授权才可以访问的.
从svn存储库中获取可用信息
如果我们google搜索图片中的关键字“.svn” intitle:”index of”,会显示出可访问的svn版本控制系统.如果单纯用.svn搜索,会获取一些无关的结果.
在上面的图片中我们可以看到,搜索查询,发现了两个可公开访问SVN系统:
– http://neo-layout.org/.svn/
– http://trafficbonus.com/.svn/
如果我们试图访问这些链接,呈现给我们的SVN目录如下图所示:
在使用的.svn/目录中,可以发现标准的svn文件和文件夹.通常是因为web页面是svn存储库的一部分,其中还包括文件夹,.svn/目录没有做适当的权限保护.svn目录因为包含项目目录的每个资源的信息,所以一旦泄漏后果是非常严重的.
可以使用wget命令下载所有文件到本地.
# wget -m -I .svn http://neo-layout.org/.svn/
执行以下命令查看下载下来的文件目录等
#ls -al neo-layout.org/
|
# ls -al neo-layout.org/ total 56 drwxr-xr-x 3 eleanor eleanor 4096 Oct 2 16:18 . drwxr-xr-x 75 eleanor eleanor 36864 Oct 2 16:18 .. drwxr-xr-x 6 eleanor eleanor 4096 Oct 2 16:18 .svn -rw-r--r-- 1 eleanor eleanor 5155 Jul 15 2011 index.html -rw-r--r-- 1 eleanor eleanor 61 Jul 15 2011 robots.txt |
neo-layout.org/目录是之前创建好的,可以看到下载下来的包括重要文件目录和.svn目录.
然后可以用cd进入到工作目录,执行svn status命令查看项目文件的工作状态等.具体的svn相关命令可以查看一下文章.
http://www.cnblogs.com/orez88/articles/1973303.html
如图所示,执行完svn status命令,可以看到文件的具体的状态等.
还可以执行svn info 获取更多的信息.如图:
可以看到作者,最后的修改的修订版本号和修改日期等信息.
从git存储库获取敏感信息
可以google搜索“.git” intitle:”Index of”,就会列出一些git版本控制系统的敏感信息.如图:
随便找一个网站为例,可以同样使用wget命令下载到本地.
#wget -m -I .git http://www.claytonking.com/.git/
然后可以使用git命令本地进行操作,获取更多的敏感信息.具体git命令可以查看这篇文章:
http://www.cnblogs.com/1-2-3/archive/2010/07/18/git-commands.html
如果一个网站项目使用了svn或者git版本控制系统,而又没有做好相应的权限设置,可以被攻击者轻易的获取敏感信息,数据库帐号密码等,会导致网站更多的信息泄漏.其它版本控制系统同样可以使用以上的方法.因此保护.svn和.git目录禁止搜索引擎和用户访问非常重要,可以使用.htaccess来保护svn和git版本控制系统库.
阿德马翻译自国外网站,转载请注明出处………………
原文链接:http://resources.infosecinstitute.com/hacking-svn-git-and-mercuri
- 本文固定链接: http://www.nxadmin.com/penetration/962.html
- 转载请注明: admin 于 阿德马Web安全 发表