3.1.1 搜集子域名
毫无疑问,Google是当今世界上最强大的搜索引擎。然而,在黑客手中,它也是一个秘密武器,它能搜索到一些你意想不到的信息。
利用Google搜集网站子域名是一件非常简单也非常复杂的事情。简单是指只要用Google搜索一下即可;复杂是指要从海量的信息中寻找子域名。
下面以baidu.com为例,进行百度的子域名查询。
打开Google,在搜索设置中设置每页搜索结果数为100条,这样方便查看(注:Google默认每页结果为10条)。
如图3-1所示,在搜索栏中输入:site:baidu.com。搜索后找到12.9亿条结果,这是一个非常庞大的数字,想要在这海量的信息中(包括重复数据)搜集到百度的所有子域名是不现实的。所以,一般会选取前10~20页作为信息搜集,包括现在流行的子域名查询工具,对于大型网站进行子域名搜集,基本是不可靠(不全面)的。一方面是因为任务量太大,另一方面则是收录问题,有些新建立的网站可能搜索引擎还没有收录。所以目前没有一种比较好的办法完全搜集子域名。
图 3-1 查询指定域名
Google Hack 并没有太多的技术含量,其实只是根据Google提供的语法来进行信息查询。下面将会详细讲解如何更好地利用Google提供的语法。
3.1.2 搜集Web信息
在3.1.1节中,使用了site关键字进行指定网站的查询,本节将详细介绍Google Hack 常用的语法,以进行敏感信息的探测。Google 常用语法请参见表 3-1。
表 3-1 Google 常用语法
关键字 | |
site | 指定域名 |
intext | 正文中存在关键字的网页 |
intitle | 标题中存在关键字的网页 |
info | 一些基本信息 |
inurl | URL 存在关键字的网页 |
filetype | 搜索指定文件类型 |
- 案例一:搜索存在敏感信息的网站
输入“intitle:管理登录 filetype:php”,这句话的意思为查询网页标题含有“管理登录”,并且为php类型的网站,Google 可以轻松地搜索到很多该类型的网站,如图 3-2 所示。
只需要一个关键字,你就可以利用Google找到存在某些特征的网站,以达到快速找到漏洞主机的目的。
图 3-2 大量敏感信息泄露
- 案例二:搜集Discuz论坛主机
语法为:intext:Powered by Discuz
如果攻击者拥有Discuz漏洞,并且配合Google来寻找Discuz主机,那么后果是相当严重的。
Google也不是万能的,它只能查询出蜘蛛爬行过的网页,而蜘蛛遵照网站根目录robots.txt的约定进行爬行,如果一些敏感目录不希望蜘蛛进行爬行,则可以写在网站根目录robots.txt中。虽然这样不会被蜘蛛爬行到,但是攻击者可以直接访问robots.txt,如图 3-3 所示。
图 3-3 robots.txt的访问
需要注意的是,不仅是Google能探测敏感信息,百度、雅虎等搜索引擎都是可以的,其方法与Google Hack 很相似,这里不再一一赘述。
- 小知识:网络蜘蛛
蜘蛛在爬行时,会爬行整个网站,网站内所有的链接都会被一一提交到Google的数据库中。那么如何完全隐藏网站的敏感信息呢?
从开发人员的角度来讲,一定要保证敏感信息不被外部引用。如果在一些对外暴露的页面中引用一些敏感目录,那么Google的蜘蛛就会顺藤摸瓜找到地址。同时,也要保证敏感信息的名字很复杂,否则很有可能被攻击者扫描出地址。