# 1.10 敏感信息泄露漏洞

## 漏洞描述

由于网站运维人员疏忽，存放敏感信息的文件被泄露或由于网站运行出错导致敏感信息泄露。

## 漏洞等级

中危

## 漏洞危害

* 攻击者可直接下载用户的相关信息，包括网站的绝对路径、用户的登录名、密码、真实姓名、身份证号、电话号码、邮箱、QQ号等；
* 攻击者通过构造特殊URL地址，触发系统web应用程序报错，在回显内容中，获取网站敏感信息；
* 攻击者利用泄漏的敏感信息，获取网站服务器web路径，为进一步攻击提供帮助。

## 漏洞利用

### robots.txt

当一个搜索蜘蛛访问一个站点时，它会首先检查该站点根目录下是否存在robots.txt，如果存在，搜索机器人就会按照该文件中的内容来确定访问的范围；如果该文件不存在，所有的搜索蜘蛛将能够访问网站上所有没有被口令保护的页面。 robots.txt基本上每个网站都用，而且放到了网站的根目录下，任何人都可以直接输入路径打开并查看里面的内容

该文件用于告诉搜索引擎，哪些页面可以去抓取，哪些页面不要抓取。

![](http://ww1.sinaimg.cn/large/007F8GgBly1g1wjj21jzdj30l80e80t7.jpg)

### 备份文件

管理员在对网站进行修改、升级等操作前，可能会将网站或某些页面进行备份，由于各种原因将该备份文件存放到网站目录下，该文件未做任何访问控制，导致可直接访问并下载。可能为.rar、zip、.7z、.tar.gz、.bak、.txt、.swp等等，以及和网站信息有关的文件名www\.rar、web、rar等等

![](http://ww1.sinaimg.cn/large/007F8GgBly1g1wjkj0d0zj30rs0dw41l.jpg)

常见字典

```
/a.zip
/web.zip
/web.rar
/1.rar
/bbs.rar
/www.root.rar
/123.rar
/data.rar
/bak.rar
/oa.rar
/admin.rar
/www.rar
/2014.rar
/2015.rar
/2016.rar
/2014.zip
/2015.zip
/2016.zip
/2017.zip
/1.zip
/1.gz
/1.tar.gz
/2.zip
/2.rar
/123.rar
/123.zip
/a.rar
/a.zip
/admin.rar
/back.rar
/backup.rar
/bak.rar
/bbs.rar
/bbs.zip
/beifen.rar
/beifen.zip
/beian.rar
/data.rar
/data.zip
/db.rar
/db.zip
/flashfxp.rar
/flashfxp.zip
/fdsa.rar
/ftp.rar
/gg.rar
/hdocs.rar
/hdocs.zip
/HYTop.mdb
/root.rar
/Release.rar
/Release.zip
/sql.rar
/test.rar
/template.rar
/template.zip
/upfile.rar
/vip.rar
/wangzhan.rar
/wangzhan.zip
/web.rar
/web.zip
/website.rar
/www.rar
/www.zip
/wwwroot.rar
/wwwroot.zip
/wz.rar
/index.php.swp
/index.php.bak
/index.php.swo
```

vim的提示：

当你非正常关闭vim编辑器时（比如直接关闭终端或者电脑断电），会生成一个.swp文件，这个文件是一个临时交换文件，用来备份缓冲区中的内容。

第一次产生的交换文件名为“.file.txt.swp”；再次意外退出后，将会产生名为“.file.txt.swo”的交换文件；而第三次产生的交换文件则为“.file.txt.swn”；依此类推。

可以使用vim -r打开此类文件

### Git文件泄露

由于目前的 web 项目的开发采用前后端完全分离的架构:前端全部使用静态文件，和后端代码完全分离，隶属两个不同的项目。表态文件使用 git 来进行同步发布到服务器，然后使用nginx 指向到指定目录，以达到被公网访问的目的。 在运行git init初始化代码库的时候，会在当前目录下面产生一个.git的隐藏文件，用来记录代码的变更记录等等。在发布代码的时候，把.git这个目录没有删除，直接发布了。使用这个文件，可以用来恢复源代码

常见漏洞地址为：

```
http://www.xxx.com/.git/
http://www.xxx.com/.git/config
```

![](http://ww1.sinaimg.cn/large/007F8GgBly1g1wjpn7btgj30gq08ddgh.jpg)

关于该漏洞的利用可以使用Githack也可以使用dvcs-ripper，唯一的区别就是这里用rip-git.pl下载下来的文件是可以查看它上传github的历史记录的。而Githack这个工具虽然能下载文件，但是不能查看历史记录

例如：

```
git log xxx.php //查看该文件的日志
git diff 12c6ddf4af0a5542c1cf6a9ab19b4231c1fd9a88 xxx.php //查看上一次的修改内容
```

### DS\_store文件泄露

.DS\_Store是Mac下Finder用来保存如何展示文件//文件夹的数据文件，每个文件夹下对应一个。由于开发/设计人员在发布代码时未删除文件夹中隐藏的.DS\_store，可能造成文件目录结构泄漏、源代码文件等敏感信息的泄露。

常见漏洞地址

```
http://www.xxx.com/.DS_Store
```

利用工具

ds\_store\_exp

### .hg源码泄漏

hg init的时候会生成.hg

常见漏洞地址

```
http://www.xxxx.com/.hg/
```

利用工具

dvcs-ripper

### svn文件泄露

Subversion，简称SVN，是一个开放源代码的版本控制系统，相对于的RCS、CVS，采用了分支管理系统，它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。

Subversion使用服务端—客户端的结构，当然服务端与客户端可以都运行在同一台服务器上。在服务端是存放着所有受控制数据的Subversion仓库，另一端是Subversion的客户端程序，管理着受控数据的一部分在本地的映射（称为“工作副本”）。在这两端之间，是通过各种仓库存取层（Repository Access，简称RA）的多条通道进行访问的。这些通道中，可以通过不同的网络协议，例如HTTP、SSH等，或本地文件的方式来对仓库进行操作。

常见漏洞地址

```
http://www.xxx.com/.svn/entries
```

利用工具

seay svn信息泄露利用工具

dvcs-ripper

### WEB-INF/web.xml泄露

WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件，必须通过web.xml文件对要访问的文件进行相应映射才能访问。

WEB-INF主要包含一下文件或目录：

* /WEB-INF/web.xml：Web应用程序配置文件，描述了 servlet 和其他的应用组件配置及命名规则。
* /WEB-INF/classes/：含了站点所有用的 class 文件，包括 servlet class 和非servlet class，他们不能包含在 .jar文件中
* /WEB-INF/lib/：存放web应用需要的各种JAR文件，放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
* /WEB-INF/src/：源码目录，按照包名结构放置各个java文件。
* /WEB-INF/database.properties：数据库配置文件

### CVS泄漏

常见漏洞地址

```
http://www.am0s.com/CVS/
```

利用工具

dvcs-ripper

## 漏洞修复

对网站错误信息进行统一返回，模糊化处理；

对存放敏感信息的文件进行加密并妥善储存，避免泄漏敏感信息。
