# 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

## 漏洞修复

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ninjia.gitbook.io/secskill/web/info.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
