3.1 搜索引擎
3.1.1 Google Hacking
由于传统的信息收集方法如端口扫描、目录扫描等会在服务器上留下大量的日志痕迹,在某些情况下还可能被安全设备拦截,因此能否在不惊动目标服务器的情况下,对目标网站收集尽可能多的信息呢?Google Hacking,也叫Google Dorking,是一种利用谷歌搜索和其他搜索引擎来发现网站配置和计算机代码中的安全漏洞的计算机黑客技术。
3.1.1.1 默认搜索
用户在浏览器中的搜索即为默认搜索,搜索时浏览器会自动进行模糊匹配。对长短语或语句进行自动拆分,并形成小的关键词进行模糊搜索。我们来看下面这样一个例子:
渗透测试有哪些好用的教程推荐?
渗透测试教程
可以看出明显第一个搜索语句显得很啰唆,我们在拟定搜索语句的时候,尽量减少如“有哪些”“好用的”等无关紧要的词汇。
3.1.1.2 通配符
谷歌搜索的通配符是“*”,我们可以使用通配符代替关键词或短语中无法确定的字词。下面就是使用通配符搜索的案例,可以看到搜索的结果中出现了自动化测试、软件测试等结果。通配符的使用如图3-1所示。
图3-1 通配符的使用
3.1.1.3 逻辑非
如果想要排除某类搜索结果可以使用“-”,还是以上面的搜索关键词为例,假如我们不想查看工具类相关的教程,可以直接使用逻辑非来减掉包含“工具”关键词的相关结果:
渗透测试教程-工具
通过逻辑非关键词搜索后,这样结果中就不会再出现包含“工具”关键词的结果了。
3.1.1.4 常用关键词
除了上述的关键词,在渗透测试中还会经常用到下面的关键词。谷歌搜索常用关键词及说明如表3-1所示。
表3-1 谷歌搜索常用关键词及说明
3.1.1.5 实用案例演示
1.查找暴露在互联网的后台资产
因为很多管理员后台的网页标题经常出现“后台登录”的字样,所以可以使用:
关键词来查找网页标题中包含“后台登录”关键词的 Web 资产信息。又因为很多后台系统的URL中经常出现“admin”“system”等字样,所以还可以使用:
关键词来查找URL资产中包含敏感后台的资产信息。
2.搜索xxx.com的子域名信息
利用 site 关键词可以指定查询某个域名的资产情况,可以借助这个关键词来查找对应域名的子域名信息。
3.搜索互联网上的登录入口
首先,我们借助intitle关键词来查找百度暴露在互联网上的登录入口:
但是发现出现了很多“百度知道”“百度经验”“百度百科”等无关紧要的干扰结果,为了减少这些搜索结果的干扰,我们可以使用上面学习的逻辑非关键词来进行搜索:
这样搜索出来的结果大多数就是百度暴露在互联网上的登录入口。互联网登录入口如图3-2所示。
图3-2 互联网登录入口
4.查找互联网敏感文件
很多用户喜欢将敏感信息放在Excel表格或PDF之类的文档中,并且还将这些敏感文件上传到了网上,虽然正常浏览无法直接打开这些资源,但是利用Google Hacking语法进行针对性的查找,能降低我们在信息收集时的难度。
通过上面这些案例,大家基本已经掌握Google Hacking 的一些技巧,不同语法的组合可以灵活满足各种查询需求,希望大家也不要止步于书上的知识点,课后可以多多对Google Hacking进行实操探索,以熟能生巧。