文件泄露漏洞

前言

前两天刚做了一道.git文件泄露的题,在网上查了些资料,发现还有其他的文件泄露漏洞,现在来总结一下。

GitHub导致文件泄露

漏洞成因及危害

在Github中被泄露的敏感信息主要包括以下几类:

1
2
3
4
5
邮箱信息
SVN信息
内部账号及密码
数据库连接信息
服务器配置信息

这些敏感信息有的只是导致一些无法被外网连接的内网账户信息或者数据库连接信息泄露,但时也可能会导致公司重要的商业秘密或程序源代码被他人窃取,管理员账户被控制或者数据库泄露等,造成巨大的损失。

###漏洞检测及利用
site:Github.com smtp
google hacker语法

git导致文件泄露

漏洞成因

在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码

方法一:

下载.git文件:

wget --mirror --include-directories=/.git http://www.target.com/.gitcd www.target.com

代码重构:

git reset --hard

方法二:

Python2 GitHack.py http://www.xxx.com/.git/

GitHack.py下载地址:https://github.com/lijiejie/GitHack

svn导致文件泄露

Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。
Subversion使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。在服务端是存放着所有受控制数据的Subversion仓库,另一端是Subversion的客户端程序,管理着受控数据的一部分在本地的映射(称为“工作副本”)。在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)的多条通道进行访问的。这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。

工具下载:https://github.com/lijiejie/ds_store_exp

DS_Store导致文件泄露

漏洞成因

在发布代码时未删除文件夹中隐藏的.DS_store,被发现后,获取了敏感的文件名等信息。

漏洞利用

下载地址:https://github.com/lijiejie/ds_store_exp

使用:ds_store_exp.py http://www.xxx.com/.DS_Store

网站备份压缩文件

在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某一页面进行备份。当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全埋下隐患。

漏洞成因及危害:

该漏洞的成因主要有以下两种:
服务器管理员错误地将网站或者网页的备份文件放置到服务器web目录下。
编辑器在使用过程中自动保存的备份文件或者临时文件因为各种原因没有被删除而保存在web目录下。

漏洞检测:

该漏洞往往会导致服务器整站源代码或者部分页面的源代码被下载,利用。源代码中所包含的各类敏感信息,如服务器数据库连接信息,服务器配置信息等会因此而泄露,造成巨大的损失。被泄露的源代码还可能会被用于代码审计,进一步利用而对整个系统的安全埋下隐患。
.rar、.zip、.7z、.tar.gz、.bak、.swp、.txt、.html