Google Hacking，有时也会被称为 Google dorking，是一种利用谷歌搜索的高级使用方式进行信息收集的技术。在百度百科释意为利用 Google 搜索引擎搜索信息来进行入侵的技术和行为，现指利用各种搜索引擎搜索信息来进行入侵的技术和行为。 而 Web 信息的搜集建立在 IP、域名以及端口所收集的数据之上。每个 IP 及域名对开放的端口都可能搭建了 Web 服务，本文将介绍 Google Hacking 的其他常用语法。 基础语法 逻辑与：and (+) 逻辑或：or (|) 逻辑非： not (-) 完整匹配："关键词" 小括号：() 多个关键词划分为一组，并进行优先查询 通配符：* ? 用法：即布尔运算符，类似编程写法。 举例：找一些包含 SEO 和网络营销有关的网站则可以输入关键词：“SEO and 网络营销”。 高级搜索 在 Google Hacking 中可以使用高级运算符，以缩小搜索结果范围，最终获取到需要的信息。高级操作符虽然容易使用，但也需要遵循严格的语法。 需要知道 基本语法是：operator:search_term ，当中不能有空格； 布尔运算符和高级操作符可以结合使用； 多个高级操作符可以在一次搜索中配合使用； 以 all 开头的操作符在一次搜索中仅能使用一次，不能与其他高级操作符同时使用。 1. site: 指定访问的站点，用来搜索某个域名下的所有被搜索引擎收录的页面。 语法结构：要查找的信息 site:去掉 www 后的网站地址 例如：直播 site:huya.com 注意：“site” 后面跟的站点域名，不要带 “https://”。site:和站点之间不要有空格 总结：可以把搜索范围限定在这个站点中，提高查询效率。 2. domain: 用 domain 命令可以查找跟某一网站相关的信息或反向链接，目前此指令只适用于百度。 3. link: 查询网站外链的搜索指令，此搜索指令只适用于 Google，在百度上是不起作用的。 4. intitle： 指令返回的是页面 title 中包含关键词的页面，目前，百度和 Google 都支持 intitle 指令。 语法结构：内容+空格intitle:你要查找的信息（此信息会被限定在网页标题内） 例如：web学习 intitle:安全 注意：intitle:和后面的关键词之间不要有空格 总结：intitle 指令可以找到更准确的竞争页面，它可以对网页内容提纲挈领式的归纳。 5. inurl: 用于搜索查询词出现在 url 中的页面，百度和 Google 都支持 inurl 指令。 语法结构：要查找的信息 inurl:相关信息（必须是英文，也可以是拼音） 例如：ps 视频教程 inurl:videos 注意：查询词“auto视频教程”可以出现在网页的任何位置，而“video”必须出现在网页 url 中 总结：支持中文和英文，如果对搜索的 url 做某种的限定，可以获得更好的效果。 6. index: 只搜索网页部分中包含的文字，会忽略掉 url 和标题等文字。 例如在输入框中输入“index of mp3”，会得到 “mp3” 网站的资源列表。 7. filetype: 可以对搜索对象的文件类型做限制，冒号后是文档格式，如PDF、DOC、XLS等。 例如：“年终总结 filetype:ppt”， 8. info： 提交 info:url，将会显示需要查询网站的一些信息。 9. inanchor: 返回的结果是导入链接锚文字中包含搜索词的页面，目前，百度暂不支持 inanchor。 比如在 Google 搜索：“inanchor:点击这里”返回的结果页面本身并不一定包含“点击这里”这四个字，而是指向这些页面的链接锚文字中出现了“点击这里”这四个字。 例如：“restaurants inanchor:gourmet”，提交这个查询，Google 会查询那些在 anchor 信息里包含了关键词“restaurants”和关键词“gourmet”的网页。 此种指令可以用来找到某个关键词的竞争对手，而且这些竞争对手往往是做过 SEO 的，研究竞争对手页面有哪些外部链接，就可以找到很多链接资源。 10. intitle: 返回的是页面 title 中包含关键词的页面，目前，百度和 Google 都支持 intitle 指令。 例如：找蔡某坤的个人资料，就可以用“蔡某坤 姓名 身高”来查询，而由于明星的名字一般在网页标题中出现，因此，更精确的查询方式，可以是“姓名 身高 intitle:蔡某坤”。 11. all***: “***” 可以替换为 inanchor、intext、intitle、inurl。 与以上用法类似，只不过可以指定多个词。 12. author: 当我们用 author 进行查询的时候，Google 会限制返回http://www.szzhaoda.com/结果仅仅是那些在Google论坛里边，包含了特定作者的新闻文章，在这里，作者名可以是全名，也可以是一部分或邮件地址。 例如：输入“children author:john author:doe”或“children \author:doe@mahaixiang.cn”，返回结果将是作者 John Doe 或是 doe@mahaixiang.cn 写的，关于包含关键词 children 的文章。 13. bphonebook: 用 bphonebook 进行查询的时候，返回结果将是那些商务电话资料。 14. cache: 提交 cache:url，Google 会显示当前网页的快照信息，从而替换网页的当前信息。 例如：“cache:com”，提交这个查询，Google 会返回所有抓取的关于 url 的网页快照信息，在显示的网页快照信息里边，Google 会高亮显示查询关键词（在cache:和URL之间不能有空格）。 15. datarange: 当我们使用 datarange 进行查询的时候，Google 会将查询结果限制在一个特定的时间段内，这个时间相对于网站来说，是按网站被 Google 收录的时间算的。 例如：“Geri Halliwell” “Spice Girls” daterange:2450958-2450968，这里的时间日期格式是按天文学的儒略日（这个搜索语法 Google 并不推荐使用，因为它会返回一些莫名其妙的东西）。 16. define: 当我们用 define 进行查询的时候，Google 会返回包含查询关键词定义的网面。 例如：“define: blog”，这个查询将会返回 Blog 的定义。 17. group: 当我们用 group 查询的时候，Google 会限制我们的论坛查询结果仅是某几个固定的论坛组或是某些特定主题组的新闻文章。 例如：“sleep group:misc.kids.moderated”，提交这个查询，Google 仅会返回在用户组 misc.kids.moderated 里边包含了查询关键字“sleep”的文章。 18. related: related 指令只适用于 Google，返回的结果是与某个网站有关联的页面。 比如搜索 related:mahaixiang.cn 我们就可以得到 Google 所认为的与马海祥博客有关联的其他页面。 这种关联到底指的是什么，Google 并没有明确说明，一般认为指的是有共同外部链接的网站。 用法案例 搜索 URL 中存在 admin 关键字，title 存在后台关键字的腾讯网的子网站。 以下是示例代码，这里主要是以学习为目的，就不展示结果啦~ 参考文献 [1] 搜索语法大全 [2] 搜索引擎高级搜索语法指令大全 [3] Google Hacking 搜索引擎攻击与防范 [4] 佟晖. Web安全基础教程[M]. 北京：北京师范大学出版社，2017：20-23.