生活在网络化,信息化的今天,我们时不时的会听到某某国家,某某网站泄露了多少亿的用户数据,这些数据包括个人的姓名,联系电话、家庭住址、甚至更恶劣的包括个人银行卡账号、宾馆以及网购记录等。如此高速的网络让我们享受到了便利,恐怖的数据泄露事件却另我们感到无锁遁形。so,网络空间安全,任何人都需要。
在网络安全行业,对于普通人来说,信息泄露就是信息泄露,你的个人信息随处可见。而对于网络安全行业的工程师来说,信息泄露就可以被利用在一些信息收集方面,从而扩大利用面达到入侵的目的。那么一个网站能有哪些信息泄露点呢?网站发生信息泄露,通常泄露的就是网站的源码,敏感信息和配置文件。本文介绍如何寻找网站泄露点。
一,信息泄露
0x00 注释
许多网站都会在源码处加一些注释,其目的就是为了方便程序员理解源码。因此,如果程序员在源码处注释了一些关键路径,以及配置文件信息,就是造成泄露。
例:某ctf注释泄露两道题目,可以得到敏感文件,和flag
利用方法: 鼠标右键,查看页面源代码
0x01 robots.txt
robots协议也称爬虫协议、爬虫规则等,是指网站可建立一个robots.txt文件来告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,而搜索引擎则通过读取robots.txt文件来识别这个页面是否允许被抓取。简单来说就是网站里面放了robots.txt,来对爬虫说,我的网站这些路径不允许爬取。但 robots协议没有强制执行力,可以手动在网站域名后面输入robots.txt。
例:某ctf 题目不允许爬取/admin/目录,不允许爬取flag.php,不允许爬取www.tar.gz
User-agent:* Disallow:/admin/* Disallow:/flag.php Disallow:/www.tar.gz
利用方法: 域名/robots.txt
0x02 备份文件泄露
有的服务器上搭建的网站,是把源码备份文件上传到服务器上,然后解压。在部署完网站后,往往没有将源码备份文件进行删除,造成备份文件的下载。
常见的备份文件后缀
.bak|.zip|.tar|.tar.gz|.7z|.txt|.phps|.php~|.old|.temp|
利用方法: 一般使用web目录扫描工具,windows上有蚁剑,7kbscan等,linux上可以使用gobuster,想要工具的可以私聊我。
二,源码泄露
0x03 .swp文件泄露
.swp是vi编辑器异常退出,而产生的一个文件比如编辑admin.php异常退出会产生一个admin.php.swp。
利用方法:如果可以将admin.php.swp下载下来,删掉.swp可以得到admin.php源文件。
0x04 .pyc文件泄露
.pyc文件是python文件编译之后得到的字节码文件,用工具进行反编译即可得到源码,在网站上一般用不到。
利用方法:
安装uncompyle6
pip install uncompyle6
uncompyle6 -o xx.py xx.pyc
0x05 .git源码泄露
Github是一个代码托管云服务网站,帮助开发者存储和管理其项目源代码,且能够追踪、记录并控制用户对其代码的修改。甚至可以把它当作存储代码等的网盘,用来存储任何东西 。简单来说,就是开发人员把源码托管到Github上,在服务器上自动部署的时候, 把源码pull到服务器的web目录下,.git代表了Github上源码的凭证,如果pull到服务器上忘记把.git文件删除,就造成此漏洞。
利用方法:
测试是否存在Git源码泄露 域名/git/index
发现存在Git源码泄露,还原网站源码使用工具 https://github.com/lijiejie/GitHack
python GitHack.py www.xxx.com/.git/
0x06 .svn 源码泄露
.svn源码泄露和.git源码泄露原理是差不多的,只是部署的平台名称不一样,代表项目的凭证也不一样。
测试是否存在.git源码泄露
svn<1.6 访问域名/.svn/entries
svn>=1.6 访问域名/.svn/wc.db
工具Seay-svn源代码备份漏洞利用工具,需要的可以私聊我,免费提供。
0x07 .DS_Store 文件泄露
解释: .DS_Store是Mac下Finder用来保存如何展示文件或者文件夹的数据文件,每个文件夹下对应一个。由于开发/设计人员在发布代码时未删除文件夹中隐藏的.DS_store,可能造成文件目录结构泄漏、源代码文件等敏感信息的泄露 . 这个由于不常见,下面直接给出利用工具。
利用方法:
https://github.com/lijiejie/ds_store_exp
python ds_store_exp.py 域名/themes/galaxyw/.DS_Store
0x08 WEB-INF/web.xml 泄露
这个主要是针对java 的网站,WEB-INF是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问,因此web.xml如果存在泄露,那么久可以得到敏感路径和文件。
利用方法:WEB-INF 主要包含以下文件或目录:
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
0x09 .htaccess 泄露
.htaccess 文件是Apache中有一种特殊的文件,其提供了针对目录改变配置的方法,即在一个特定的文档目录中放置一个包含一条或多条指令的文件,以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过 Apache 的 AllowOverride 指令来设置。这个最多的还是配合文件上传漏洞进行另类文件解析。
利用方法:
http://example.com/.htaccess
0x10 phpinfo泄露
PHPInfo函数信息泄露漏洞常发生一些默认的安装包,比如phpstudy等,默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为phpinfo.php、1.php和test.php,虽然通过phpinfo获取的php环境以及变量等信息,但这些信息的泄露配合一些其它漏洞将有可能导致系统被渗透和提权。
phpinfo()函数返回的信息中包含了服务器的配置信息,包括:
1)PHP编译选项以及文件扩展名的相关信息; 2)php的版本信息 3)php的配置信息; 4)数据库信息;等敏感信息。这些敏感信息会帮助攻击者展开进一步的攻击
利用方法:
http://127.0.0.1/index.php?cmd=phpinfo();或者http://127.0.0.1/phpinfo.php
0x11 php彩蛋
这个彩蛋是php官方工程师留下的,可以练习手法
?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 (PHP信息列表)
?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 (PHP的LOGo)
?=PHPE9568F35-D428-11d2-A769-0OAAO01ACF42(Zend LoGo)
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42(PHP LOGO蓝色大象)
利用方法:
域名/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000