1.10 敏感信息泄露漏洞

漏洞描述

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

漏洞等级

中危

漏洞危害

  • 攻击者可直接下载用户的相关信息,包括网站的绝对路径、用户的登录名、密码、真实姓名、身份证号、电话号码、邮箱、QQ号等;

  • 攻击者通过构造特殊URL地址,触发系统web应用程序报错,在回显内容中,获取网站敏感信息;

  • 攻击者利用泄漏的敏感信息,获取网站服务器web路径,为进一步攻击提供帮助。

漏洞利用

robots.txt

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

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

备份文件

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

常见字典

/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

关于该漏洞的利用可以使用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

漏洞修复

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

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