《OSINT分析》02. 搜索引擎检索语法
本系列侧重方法论,各工具只是实现目标的载体。
命令与工具只做简单介绍,其使用另见《软件工具录》。
1:Dorking 简介
Dorking,也叫做 Dorks,是一种利用搜索引擎查找特定信息的技术,核心是通过精确的检索语法和关键词,定位互联网上暴露的敏感信息。
Google 和其他搜索引擎允许在搜索文本中使用检索语法,检索语法是添加到搜索中的文本,用以执行某个功能。
Google 检索语法对大部分其他搜索引擎都通用。
Dorking 可用于查找多方面的信息,包括但不限于下述信息:
- 网站、公司、组织的关键信息
- 关于公司、产品和服务的评论
- 有关特定主题的博客、文章、研究论文等
- 泄露的软件、课程和电子书
- 寻找某个问题的答案
- 跟踪网络舆情信息
- 寻找泄露数据的线索,包括用户名、密码、网站管理入口等
- 跟踪网络威胁情报,追溯威胁历史活动信息
2:Google 检索语法
Google Dorking,亦称 Google Dorks 或 Google Hacking。
Google 搜索引擎对于同一个检索语法,如果代理处于不同的地区,返回的检索结果也会不同。
Google 检索语法对大部分其他搜索引擎都通用。
2.1:常规搜索
2.1.1:不带引号
语法说明:不要求完全匹配关键词,可能会包含拼写相似的词或内容相关但不精确匹配的页面。
示例 1:
OSINT
示例 2:查找多个独立的关键词,搜索结果中可能包含关键词的不同排列组合,也可能分散在页面的不同位置。
Open Source Intelligence
2.1.2:双引号
语法说明:关键词检索,要求检索结果中必须包含完整的检索关键词。
示例 1:对单个词进行精确搜索,完全匹配包含关键词的页面。
"OSINT"
示例 2:对短语进行精确匹配搜索,搜索包含完整短语的页面,不会拆分成单独的词。
"Open Source Intelligence"
示例 3:对多个独立关键词精确匹配,返回包含所有独立词的页面,但它们不必按特定顺序出现,也不需要连在一起。
"开源" "情报" "分析"
2.2:检索符
除了以 “ all ” 开头的检索符,其他检索符只跟一个关键词。
2.2.1:site
语法说明:将搜索范围限定到特定网站。
示例 1:
site:github.com
示例 2:在特定网站检索特定的内容。
"OSINT" site:github.com
2.2.2:filetype
语法说明:指定文件类型扩展名,搜索某一种文件类型的资源。
示例 1:
"OSINT" filetype:ppt
示例 2:
"情报" site:github.com filetype:pdf
2.2.3:intitle
语法说明:限制网页标题中包含某一个特定的关键词。
示例 1:
intitle:OSINT
示例 2:
intitle:"index of"
示例 3:查找网页标题中同时包含多个关键词的页面。
intitle:开源 intitle:分析
示例 4:限制网页标题包含至少一个指定的关键词(使用 OR
运算符)。
intitle:开源 OR intitle:分析
2.2.4:allintitle
语法说明:限制网页标题中同时包含多个关键词。
示例 1:等同于 intitle:开源 intitle:分析
,关键词不必按特定顺序出现,也不需要连在一起。
allintitle:开源 分析
2.2.5:inurl
语法说明:限制网页 URL 中包含某一个特定的关键词。用法与 intitle
类似。
示例 1:
"OSINT" inurl:blog
示例 2:查找 URL 中包含特定路径的结果。
"OSINT" inurl:/blog/ site:inteltechniques.com
2.2.6:related
语法说明:搜索与某个网站相关联的页面,或者结构内容相似的一些其它网站。
示例 1:搜索一些与 GitHub 类似,或有类似内容的网站。即可能与代码托管、开源项目、版本控制等方面相关的其他平台。
related:github.com
2.3:运算符
2.3.1:排除符【-】
语法说明:
- 直接跟关键词:排除任何包含指定关键词的结果(包括标题、正文、URL)
- 结合检索符使用:与检索符功能相反
示例 1:
"OSINT" -book
示例 2:
"OSINT" -"Open Source Intelligence"
示例 3:排除特定网站。
"OSINT" -site:github.com
2.3.2:与运算【AND】【+】
语法说明:搜索同时符合多个条件的结果。默认搜索(即用空格连接)就是 AND 逻辑。
示例 1:以下语句功能类似。
intitle:开源 intitle:分析
intitle:开源 + intitle:分析
intitle:开源 AND intitle:分析
2.3.3:或运算【OR】【|】
语法说明:符合多个条件之一即可。
示例 1:以下语句功能类似
intitle:开源 OR intitle:分析
intitle:开源 | intitle:分析
2.3.4:通配符【*】
语法说明:可以匹配其他任意字符,用于模糊搜索。使用时需要使用双引号包裹关键词,一般不用于检索符之中。
示例 1:
"开源*分析"
示例 2:
"开源*分析" -site:csdn.net
错误示例:错误语句,请勿模仿。
site:cs*.net
2.3.5:括号
语法说明:用来优化运算符逻辑。
示例 1:
"情报" (site:zhihu.com OR site:github.com)
示例 2:
("开源" OR "分析") site:github.com
2.4:综合示例
搜索在线 Web 文件夹
intitle:"index of"
查找免费电子书
"free" ("ebook" OR "book") filetype:pdf
查找网络摄像头
inurl:view/index.shtml
随机查找一些密码列表
login password filetype:xls
查找可以通过 Web 访问的 FTP 服务器
intitle:"index of" inurl:ftp
查找暴露在 Web 的 FTP 服务器
inurl:ftp -inurl:http -inurl:https
查找 FTP 服务器上的特定文件
- 示例 1:
"OSINT" filetype:pdf inurl:ftp -inurl:http -inurl:https
- 示例 2:
"OSINT" filetype:pdf inurl:ftp -inurl:(http|https)
- 示例 1:
寻找与目标用户相关的文件
"John J. Doe" (filetype:pdf OR filetype:xlsx OR filetype:docx)
寻找某人的社交媒体账户
"John J. Doe" site:x.com
自学 Google Dorking:
- 示例 1:
("google" OR "谷歌") ("检索" OR "搜索") ("语法" OR "指令" OR "技巧")
- 示例 2:
("Google syntax" OR "Google search operators") (site:.com OR site:.org OR site:.net OR site:.io OR site:.blog)
- 示例 1:
3:Bing 检索语法
Bing 具备优秀的图像检索功能。
由于 Google 检索语法基本上通用,这里只介绍 Bing 特有的检索语法。
3.1:检索符
3.1.1:contains
语法说明:指定文件类型扩展名,搜索某一种文件类型的资源。与 Google filetype
类似,区别在于 contains
会检索来自指定域的文件链接,即便网页属于其他域名。
示例 1:检索来自指定域的文件链接,即便网页属于其他域名。
contains:ppt site:cisco.com
示例 2:搜索结果限定在指定域。
filetype:ppt site:cisco.com
3.1.2:linkfromdomain
语法说明:查找指定域下所包含的链接。(首字母可以大写:LinkFromDomain
)
示例 1:
linkfromdomain:example.com
4:Yandex 检索语法
由于 Google 检索语法基本上通用,这里只介绍 Yandex 特有的检索语法。
4.1:检索符
4.1.1:mime
语法说明:指定文件类型扩展名,搜索某一种文件类型的资源。与 Google filetype
类似。
示例 1:
"passport" mime:pdf
4.1.2:date
语法说明:根据网页发布日期进行检索。
语法 | 说明 |
---|---|
date:<YYYYMMDD |
在某个日期前或后(< 、<= 、> 、>= ) |
date:YYYYMMDD..YYYYMMDD |
发布日期在一定范围内 |
date:YYYYMMDD |
在某天发布 |
date:YYYYMM* |
在某月发布 |
date:YYYY* |
在某年发布 |
示例 1:festival date:>=20231001
示例 2:festival date:20230101..20231201
示例 3:festival date:202312*
示例 4:festival date:2023*
4.2:运算符
4.2.1:排除符【~~】
语法说明:
- 直接跟关键词:排除任何包含指定关键词的结果(包括标题、正文、URL)
- 结合检索符使用:与检索符功能相反
此排除符是 Yandex 的官方操作符,但 Google 的排除符也可使用。
示例 1:
开源 ~~ github
示例 2:
开源 ~~ site:csdn.net ~~ site:github.com
4.2.2:或运算【|】
语法说明:
- 与 Google 类似。不过 Yandex 不支持【
OR
】,但支持【|
】 - 另外 Yandex 的或运算对检索符的支持不是特别好
4.2.3:关系运算【<<】
语法说明:通常用于检索指定两个关键字之间存在关系的网页,关键字的顺序并不重要。
示例 1:
Moscow << USA
4.2.4:距离运算【/】
语法说明:【/<num>
】运算符通常用于指定两个关键词之间的最大距离。
示例 1:指定关键词之间的最大距离不超过 2。
great /2 hural
4.2.5:【&】运算
语法说明:通常用于搜索在同一句子中包含指定关键词的网页。可以结合距离运算【/<num>
】使用。
示例 1:
Hedgehog & Flamingo
示例 2:指定关键词在一句话中,且距离不超过 3 个词。
Hedgehog &/3 Flamingo
4.2.6:【&&】运算
语法说明:通常用于搜索在整个页面中包含指定关键词的网页。可以结合距离运算【/<num>
】使用。
示例 1:搜索同时包含指定关键词的页面,但不一定在同一句话中。
Hedgehog && Flamingo
示例 2:指定关键词都在页面中,且词间的距离不超过 3 个句子。
Hedgehog &&/3 Flamingo
5:补充知识
5.1:文件类型 & 扩展名
文件类型扩展名 | 文件类型 |
---|---|
7z | Compressed File |
bmp | Bitmap Image |
doc | Microsoft Word |
docx | Microsoft Word |
dwp | Autodesk |
gip | Animated Image |
htm | Web Page |
html | Web Page |
jpg | Image |
jpeg | Image |
kml | Google Earth |
kmz | Google Earth |
odp | OpenOffice Present |
ods | OpenOffice Spreadsheet |
odt | OpenOffice Text |
Adobe Acrobat | |
png | Image |
ppt | Microsoft PowerPoint |
pptx | Microsoft PowerPoint |
rar | Compressed File |
rtf | Rich Text Format |
txt | Text File |
xls | Microsoft Excel |
xlsx | Microsoft Excel |
zip | Compressed File |
6:其他
6.1:相关平台
Google 搜索引擎:
Bing 搜索引擎:
Yandex 搜索引擎:
6.2:参考资料
《谷歌搜索引擎高级搜索、命令大全表格总结》:
https://evanli.github.io/blog/2019/01/26/advanced-google-search-engine-command/
《谷歌搜索语法(一)基本语法》:
https://blog.csdn.net/u014565127/article/details/53842885
《搜索引擎竟然有这么多用法:22种高级搜索语法》:
https://www.bilibili.com/opus/153051571910167163
《搜索引擎对比:Google VS Bing》:
https://www.howsci.com/search-engine-showdown-google-vs-bing.html
《为什么你找不到的东西别人能找到?-让你高人一筹的搜索技巧》:
https://www.cnblogs.com/testing-/p/18500415
《Yandex Search Context》:
https://yandex.com/support/search/query-language/search-context.html
《link和domain的区别》:
https://blog.csdn.net/cgkitty/article/details/7990671
《Search Macros: LinkfromDomain》:
https://blogs.bing.com/search/October-2006/Search-Macros-LinkfromDomain
却下水晶帘,玲珑望秋月。
——《玉阶怨》(唐)李白