基础技术

特殊字符
*
:指代任意内容+ / -
:强制(不)搜索+ / -后面的内容,不得有空格""
:强制搜索””内部包含的内容()
:Google对()不敏感,但可以帮助使用者明确搜索语法,如intext:(password|passcode) intext:(username|userid)
与intext:password | passcode intext:username | userid
是相同的意思。
BOOL操作符
- and:匹配and前后所有的参数
- or:匹配搜索中的一个或另一个关键词,可用|代替
- not:从查询词中忽略一个单词,可以使用-代替,如hacker -china
URL语法
类似于http://www.google.com/search?q="i hack stuff"
,我们可以通过直接修改URL达到搜索数据的目的。
Google的查询参数:
变量 | 值 | 说明 |
---|---|---|
q或as_q | 搜索查询 | 搜索查询,百度对应的参数为wd |
as_eq | 搜索关键字 | 将从搜索中排出的关键字 |
start | 0到最大结果数 | 用于显示结果页面 |
num maxResults | 1-100 | 每页显示的结果数 |
filter | 0或1 | 如果filter为0,则可能显示重复的结果 |
restrict | 限定代码 | 限定位与某个特定的国家的结果 |
hl | 语言代码 | 描述显示结果所用的语言,如en|zh_CN |
lr | 语言代码 | 只显示这种语言的页面,如lang_ar |
ie | UTF-8 | Web搜索的输入编码 |
oe | UTF-8 | Web搜索的输出代码 |
as_epq | 搜索词组 | 这个值作为一个确切的词组进行提交,相当于”” |
as_ft | i=包含的文件类型,e=排除的文件类型 | 用于包含或排除as_filetype指定的文件类型 |
as_filetype | 文件扩展名 | 用于包含或排除as_ft指定的文件类型 |
as_qdr | all:所有的结果,m3:过去3个月,y:过去一年 | 查找在指定时间范围内更新的网页 |
as_nlo | 最小数 | 查找as_nlo和as_nhi之间的数 |
as_nhi | 最大数 | 查找as_nlo和as_nhi之间的数 |
as_oq | 词的列表 | 查找列表词汇中至少一个 |
as_occt | any:网页中任何地方;title;body;url;links | 在指定位置查找搜索关键字 |
as_dt | i:仅包含站点或者域;e:不包含… | 包含或排除由as_sitesearch指定的域或站点 |
as_search | 域或站点 | 包含或排除由as_dt指定的域或站点 |
safe | active:启动安全搜索;off:… | 使用或禁用安全搜索 |
as_rq | URL | 查找与该URL类似的页面 |
as_lq | URL | 查找链接到该URL的页面 |
rights | cc_* | 用特殊的使用权限定位页面(政府、商业、非商业) |
常见语言限定代码表:
lr语言代码 | 语言 | lr语言代码 | 语言 |
---|---|---|---|
lang_ar | 阿拉伯语 | lang_en | 英语 |
lang_zh_CN | 简体中文 | lang_fr | 法语 |
lang_zh_TW | 繁体中文 | lang_ja | 日语 |
常见hl限定表:
hl语言代码 | 语言 | hl语言代码 | 语言 |
---|---|---|---|
zh_CN | 简体中文 | en | 英语 |
xx-hacker | 黑客语 | ja | 日语 |
常见restrict限定表:
国家 | 限定代码 | 国家 | 限定代码 |
---|---|---|---|
澳大利亚 | countryAU | 加拿大 | countryCA |
中国 | countryCN | 英国 | countryUK |
日本 | countryJP | 法国 | countryFR |
如我们要显示来自日本的网页,其中包含hacker关键字,语言为日语,标签页使用英语描述:
http://www.google.com/search?restrict=countryJP&hl=en&lr=lang_ja&q=hacker
高级操作符
除了上述基本搜索技术外,Google还提供了称为高级操作符的关键字来辅助进行高级查询,如果没有在查询中使用高级操作符,那么谷歌会在网页内的所有地方搜索你的关键字,包括标题、文本和url等。
使用规范
和其它形式的标准Google查询相比,高级操作符必须遵守相当严格的语法规范。
- 在操作符、冒号、搜索关键字之间是没有空格的;Google会把不符合规范的高级操作符当成另一个搜索关键字。
- 高级操作符只对于紧跟其后的关键字有效。
- 使用词组作为关键字的化,和基础搜索语法一样,需要使用””。
- 布尔操作符和特殊字符仍可用于高级操作符查询。
- 高级操作符和可以单独的查询混合使用。
- 一次查询只能使用一次ALL操作符。
操作符表
名称 | 语法 | 描述 | 能否混用 |
---|---|---|---|
intext | intext:hacker “from china” | 返回网页内容中包含hacker且网页任何地方含有from china的页面 | yes |
allintext | allintext:hacker “from china” | 返回网页的内容中包含后面所有关键字的页面 | no |
intitle | intitle:”index of” private | 返回标题包含index of,且网页任何地方有包含private的页面 | yes |
allintitle | allintitle:”index of” private | 返回标题中包含后面每一个词组或单词的页面,比intitle更精确 | no |
inurl | inurl:admin index | 返回URL中含有admin,且网页任何位置含有index的页面 | yes |
allinurl | inurl:admin index | 聪明的您,猜猜? | no |
site | site:blackhat.com | 查找指定域名的网页(从右往左) | yes |
filetype/ext | filetype:doc | filetype:pdf | 查找以特定文件扩展名结尾的网页,ext与filetype等价 | yes |
link | link:www.k374.com | 搜索链接到指定域名的网页 | no |
inanchor | inanchor:登陆 | 搜索一个链接标记的锚点 | yes |
cache | cache:blackhat.org | 显式指定网页的缓存版本 | no |
numrange | numrange:1-3或numrange 1..3 | 返回介于最小值和最大值之间的数,numrange独立于查询之外 | yes |
daterange | daterange 2452164-2452164 “blackhat bin” | 查找在某个特定日期范围内发布的网页 | yes |
info | info www.baidu.com | 显示出某个站点的摘要信息以及其他与该站点相关的链接 | no |
related | related:www.baidu.com | 显示和某个网站相关的站点 | no |
author | author:Johnny或author:Johnny@gmail.com | 搜索新闻组中所发表帖子的作者 | yes |
group | group:*.forsale | 在Google Groups帖子的标题中搜索含有关键字的帖子 | yes |
insubject | insubject:hacker | 与intitle返回一致的结果 | yes |
msgid | msgid:xxx@yyy.com | 通过消息id查找Groups帖子 | no |
stocks | stocks:csc | 搜索关于某个特定公司的股票信息,接股票简称,不能混用 | no |
define | define:ironic | 返回搜索关键字的定义,不能混用 | no |
phonebook | phonebook Jhon Darling ny | 搜索商业和住宅电话列表,此例返回Jhon Darling在New York的商业与住宅电话列表 | no |
注意事项
- 慎用
allintitle
类操作符,在和其他高级操作符一起使用时,它会打乱整个查询,从而无法得到结果,宁愿使用多个intitle
代替之。 inurl
不支持搜索URL中的http://和特殊字符部分。- 有趣的是:
filetype:xls -xls
理论上不应该返回结果,但事实却不一样。 - link操作符不能与其他操作符连用,如果后接无效的域名,如link:linux,则会把这个搜索当成一个词组,将冒号作为分割单词的标记。
- 类似的,
cache:linux
会返回和cache linux
一样的结果。 daterange
后接日期范围,具体为据公元前4713年1月1日经过的天数。
Google Hacking
使用缓存实现匿名浏览
如果Google曾经抓取了某个网页,即使源文件现在已经不存在了,那么你仍然可能获得他的一个缓存副本,甚至在不需要给服务器发送任何一个单独的数据包就能够抓取你的整个网站。
然而,当我们访问这些缓存链接是,却不是匿名的,通过tcpdump抓包显示,我们所获取图片时却是直接从网站服务器而非Google服务器上下载的,这意味着当我们浏览Google的缓存网页来努力隐藏真实信息时,我们恰恰是在暴露自己!
tcpdump -Xx -s 500 -Cn
|
事实上,如果我们只浏览Google捕捉的缓存文本数据,这是我们不会和网站服务器发生任何交互,通常在缓存链接后添加以下参数:
&strip=1
|
浏览器就会自动转到缓存页面的文字版本了。
目录列表
来日方长,先写到这。
原创文章,作者:小嵘源码,如若转载,请注明出处:https://www.lcpttec.com/google-hacking/