4.1.1 使用搜索引擎对信息泄露进行发现侦察
ID |
---|
WSTG-INFO-01 |
总结
为了使搜索引擎工作,计算机程序(或robots
)定期从网络上的数十亿个页面中获取数据(称为 网络爬虫)。这些程序通过跟踪来自其他页面的链接或查看站点地图来查找 Web 内容和功能。如果一个网站使用一个特殊的文件来列出它不希望搜索引擎获取的页面,那么那里列出的页面将被忽略。这是一个基本的概述 - 谷歌提供了对搜索引擎如何工作的更深入的解释。
测试人员可以使用搜索引擎对站点和 Web 应用程序执行侦察。搜索引擎发现和侦察有直接和间接的元素:直接方法与从缓存中搜索索引和相关内容有关,而间接方法与通过搜索论坛、新闻组和招标站点来学习敏感的设计和配置信息有关。
一旦搜索引擎机器人完成爬行,它就开始根据标签和相关属性(例如 <TITLE>
)对Web内容进行索引,以便返回相关的搜索结果。如果 robots.txt
文件在站点的生命周期内未更新,并且未使用指示不要索引内容的内联 HTML 元标记,则索引可能包含所有者不打算包含的 Web 内容。网站所有者可以使用前面提到的robots.txt
、HTML 元标记、身份验证和搜索引擎提供的工具来删除此类内容。
测试目标
确定直接(在组织的站点上)或间接(通过第三方服务)公开应用程序、系统或组织的哪些敏感设计和配置信息。
如何测试
使用搜索引擎搜索潜在的敏感信息。这可能包括:
- 网络拓扑图和配置;
- 管理员或其他关键员工的存档帖子和电子邮件;
- 登录程序和用户名格式;
- 用户名、密码和私钥;
- 第三方或云服务配置文件;
- 显示错误消息内容;
- 非公共应用程序(开发、测试、用户验收测试 (UAT) 和站点的暂存版本)。
搜索引擎
不要将测试限制在一个搜索引擎提供商身上,因为不同的搜索引擎可能会产生不同的结果。搜索引擎结果可能会在几个方面有所不同,具体取决于引擎上次抓取内容的时间以及引擎用于确定相关页面的算法。考虑使用以下(按字母顺序列出)搜索引擎:
-
Baidu, 中国最受欢迎的搜索引擎。
-
binsearch.info, 二进制Usenet新闻组的搜索引擎。
-
Common Crawl, “任何人都可以访问和分析的网络爬虫数据的开放存储库”。
-
DuckDuckGo, 一个注重隐私的搜索引擎,编译来自许多不同来源的结果。支持搜索语法。
-
Google, 它提供世界上最受欢迎的搜索引擎,并使用排名系统试图返回最相关的结果。支持搜索运算符。
-
Internet Archive Wayback Machine,“以数字形式建立互联网网站和其他文物的数字图书馆”。
-
Shodan, 一种用于搜索互联网连接设备和服务的服务。使用选项包括有限的免费计划以及付费订阅计划。
搜索运算符
搜索运算符是一种特殊的关键字或语法,它扩展了常规搜索查询的功能,可以帮助获得更具体的结果。它们通常采用operator:query
。以下是一些常用的搜索运算符:
site:
将搜索限制为提供的域。inurl:
将仅返回在 URL 中包含关键字的结果。intitle:
将仅返回页面标题中包含关键字的结果。intext:
或inbody
:者只会在页面正文中搜索关键字。inbody:filetype:
将仅匹配特定的文件类型,i.e..png
, or.php
。
例如,要查找由典型搜索引擎编制索引的 owasp.org 的 Web 内容,所需的语法为
site:owasp.org
*Figure 4.1.1-1: Google网站操作搜索结果示例
查看缓存内容
若要搜索以前已编制索引的内容,请使用 cache:
。这有助于查看自编制索引以来可能已更改的内容,或者可能不再可用的内容。并非所有搜索引擎都提供缓存内容进行搜索;在撰写本文时,最有用的来源是谷歌。owasp.org
缓存查看,语法为:
cache:owasp.org
Figure 4.1.1-2: Google 缓存操作搜索结果示例
Google黑客或Dorking
当与测试人员的创造力相结合时,与操作员一起搜索可能是一种非常有效的发现技术。可以链接操作员以有效地发现特定类型的敏感文件和信息。这种技术称为Google黑客或Dorking,只要支持搜索运算符,也可以使用其他搜索引擎。
像谷歌黑客数据库这样的傻瓜数据库是一个有用的资源,可以帮助发现特定信息。此数据库中可用的一些类别的傻瓜包括:
- 立足点
- 包含用户名的文件
- 敏感目录
- 网络服务器检测
- 易受攻击的文件
- 易受攻击的服务器
- 错误消息
- 包含敏感信息的文件
- 包含密码的文件
- 敏感的网上购物信息
修复
在将设计和配置信息发布到网上之前,请仔细考虑其敏感性。
定期查看联机发布的现有设计和配置信息的敏感性。