简介
目前, Internet 上有两种搜索引擎. 一种是The Searchable Subject Index,索引式搜索. 这种搜索引擎只搜索站点的Title和Meta描述信息. 而无法搜索个人主页,Yahoo就是一个索引式搜索引擎. 第二种是The Full-Text Search Engine 完全内容搜索引擎.通过Spider(蜘蛛?!) 技术搜索数百万个甚至数十亿个页面.而且可以搜索页面的Title和内容. 所以能够比索引式搜索做更全面的搜索.Google就是一个完全内容搜索引擎.
很多时候我们在搜索时会出现搜不到自己想要的东西,没办法第一时间找到自己想要的内容,因此我们可以使用谷歌语法进行关键字内容等搜索,以节省时间,另外百度搜素引擎也支持谷歌语法
连接符
默认连接符and:在搜索时不加任何修饰符号直接搜索,谷歌语法会对所有关键字同时进行搜索。
精确匹配“”:用于非常确切的搜索一个完全匹配的字词或一组字词,避免无意中排除掉有用的搜索结果
排除字词-:在某个字词前添加短横 (-) 可排除所有包含该字词的搜索结果
包含字词+:在某个字词前添加加号 (+) 必需包含含该字词的搜索结果
选择性字词or |:选择性字词搜索的结果匹配多个搜索字词中的任意一个,没有OR搜索结果通常会显示与多个字词都匹配的网页
通配符*:字词忘记或者不确定某些搜索词的情况下,可以用星号代替,索引会匹配相关词
加入类似字词~:Google 会用同义词代替原始查询中的某些字词,在字词前添加腭化符号 (~) 可同时搜索该字词及其同义词
组合搜索():将多个款项和符号组合搜索
特殊语法
相关网页搜索related:可以搜索与指定网站有相似内容的网页
特定文档格式中搜索Filetype:可以限定在文档格式中搜索网页信息,支持文档格式有pdf,ps,dwf, kml, kmz, doc,xls,ppt,rtf,swf,all。对于找文档资料相当有帮助
数字范围搜索..:用两个半角句号(不加空格)隔开两个数字可查看日期、价格和尺寸等指定数字范围的搜索结果(仅使用一个数字和两个句号即可表示上限或下限)
特定网站或域名中搜索site:可以限定在在某个特定网站中搜索信息
特定url链接中搜索inurl:可以限定在网站url链接中搜索网站信息,inurl后的内容必须出现在网页url中,一般用于社工别人的webshell密码
特定的网页搜索intitle: 可以限定在网页标题title中搜索网站信息,返回所有标题中包含intitle后的信息
intext: 只搜索网页<body>部分中包含的文字(省略了标题和URL等的文字)
link: 可以得到一个所有包含了某个指定的url的页面列表
define: 显示谷歌内置的词典,以卡片形式展现
cache: 返回该页面最新缓存版本
Info: 查询网站的一些信息,它只会返回一个结果,是一个选择列表,列表的选项是这个网站的某一方面的信息
filetype或者ext: 返回符合指定的文件类型的信息
related: 查找和给定域名相关的站点
allintitle: 返回标题中包含所有单词的信息
AROUND(X):间隔限制,单词和单词必须出现在内容中,并且相隔不超过四个单词
weather: 查找指定位置的天气
cache: 类似于百度快照功能,通过cache或许可以查看到目标站点删除的敏感文件
也可以用来解决找目标站点的物理路径不报错,而无法找到物理路径
define: 对搜索内容的定义
translate: 对搜索内容的翻译
stocks: 查找指定的股票信息
index of:搜索可遍历目录,内容更加清晰(index of后加/)
map: 地图搜索
movie: 电影搜索
In:单位转换,前者向后者转换
source: 在google News中查找来自某个来源的新闻
inanchor:指令返回的结果是导入链接锚文字中包含搜索词的页面,百度不支持inanchor
linkdomain:指令只适用于雅虎,返回的是某个域名的反向链接
谷歌黑语法
利用Google搜索相关信息并进行入侵的过程就叫做Google Hack
常用链接符
- and:逻辑与
- or:逻辑或
- -:逻辑非
- *?:通配符
常用字符
- intext:寻找正文中含有关键字的网页
- intitle:寻找标题中含有关键字的网页
- allintitle:用法和intitle类似,只不过可以指定多个词
- inurl:将返回url中含有关键词的网页
- allinurl:用法和inurl类似,只不过可以指定多个词
- site:指定访问的站点
- filetype:指定访问的文件类型
- link:指定链接的网页
- related:相似类型的网页
- info:返回站点的指定信息
- define:返回某个词语的定义
Index of
利用 Index of 语法去发现允许目录浏览的web网站,就像在本地的普通目录一样
index of /admin
index of /passwd
index of /password
index of /mail
index of /" +passwd
index of /" +password.txt
index of /" +.htaccess
index of /root"
index of /cgi-bin"
index of /logs"
index of /config"
上面这些命令中用的最多的就是 inurl: 了,利用这个命令,可以查到很多意想不到的东西
inurl:admin filetype:txt
inurl:admin filetype:db
inurl:admin filetype:cfg
inurl:mysql filetype:cfg
inurl:passwd filetype:txt
inurl:”wwwroot/*.”
inurl:adpassword.txt
inurl:webeditor.php
inurl:file_upload.php
inurl:gov filetype:xls “restricted”
index of ftp +.mdb allinurl:/cgi-bin/ +mailto
inurl:config.txt 将看见网上暴露了“inurl:config.txt”文件的服务器,这个文件包含了经过哈希编码的管理员的密码和数据库存取的关键信息
登录URL:通过inurl:login等等搜索包含登录入口的特殊URL
上传URL:通过inurl:upload.asp等等搜索包含上传功能的特殊URL,通过工具上传木马完成入侵
inurl:.bash_history 将列出互联网上可以看见 “inurl:.bash_history” 文件的服务器。这是一个命令历史文件,这个文件包含了管理员执行的命令,有时会包含一些敏感信息比如管理员键入的密码
法则
- google查询是不区分大小写的(除布尔操作符OR)
- google通配符;(*仅代表搜索词组中的一个词,在一个词的开始或结尾使用星号和直接使用这个单词的效果相同)
- Google 会智能地保留一些内容,比如一些过时的词,一些不适合呈现的内容(比如违法信息)
- 32个单词的限制,如一串英文单词,如果用*部分替换单词,可以扩展搜索单词的数量
- 最常用的:”关键字” ,双引号会使Google强制搜索包含关键字的内容
- +和“”: +后面关键字;”关键字” ,双引号会使Google强制搜索包含关键字的内容
- not和 – : 从查询中忽略一个单词,-后不能跟空格
- OR 和 | :查找搜索中的一个或另外一个关键字,在google处理搜索查询中,运算符之间没有优先级,一律从左往右
- ALL开头的操作符,一次只能用一个
- 在操作符、冒号、搜索关键字之间是没有空格的,且空格可以当作语法的结尾
示例
Intext:password |passcode intext:username | userid | user filetype:csv
查找所有文档的文本中包含password或则passcode的页面,在这些页面中,只要求显示出包含username,userid或则user的页面, 在这些页面中,只显示CSV文件
我们也可以将其转换为Intext:(password | passcode)intext:(username | userid | user) filetype:csv
site
管理后台地址
- site:target.com intext:管理 | 后台 | 后台管理 | 登陆 | 登录 | 用户名 | 密码 | 系统 | 账号 | login | system
- site:target.com inurl:login | inurl:admin | inurl:manage | inurl:manager | inurl:admin_login | inurl:system | inurl:backend
- site:target.com intitle:管理 | 后台 | 后台管理 | 登陆 | 登录
上传漏洞地址 - site:target.com inurl:file
- site:target.com inurl:upload
注入页面 - site:target.com inurl:php?id=
编辑器页面 - site:target.com inurl:ewebeditor
目录遍历漏洞 - site:target.com intitle:index.of
SQL错误 - site:target.com intext:”sql syntax near” | intext:”syntax error has occurred” | intext:”incorrect syntax near” | intext:”unexpected end of SQL command” | intext:”Warning: mysql_connect()” | intext:”Warning: mysql_query()” | intext:”Warning: pg_connect()”
phpinfo() - site:target.com ext:php intitle:phpinfo “published by the PHP Group”
配置文件泄露 - site:target.com ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini
数据库文件泄露 - site:target.com ext:.sql | .dbf | .mdb | .db
日志文件泄露 - site:target.com ext:.log
备份和历史文件泄露 - site:target.com ext:.bkf | .bkp | .old | .backup | .bak | .swp | .rar | .txt | .zip | .7z | .sql | .tar.gz | .tgz | .tar
公开文件泄露 - site:target.com filetype:.doc | .docx | .xls | .xlsx | .ppt | .pptx | .odt | .pdf | .rtf | .sxw | .psw | .csv
邮箱信息 - site:target.com intext:@target.com
- site:target.com 邮件
- site:target.com email
社工信息 - site:target.com intitle:账号 | 密码 | 工号 | 学号 | 身份证
查看脚本类型 - site:target.com filetype:asp/aspx/php/jsp
黑客使用site,通常都是做入侵前的信息刺探。site语法可以显示所有和目标网站有联系的页面,从中或多或少存在一些关于目标网站的资料,这对于黑客而言就是入侵的突破口,是关于目标网站的一份详尽的报告。语法组合,威力加倍虽然上文中介绍的这几个语法能各自完成入侵中的一些步骤,但是只使用一个语法进行入侵,其效率是很低下的。Google Hack的威力在于能将多个语法组合起来,这样就可以快速地找到我们需要的东西
信息刺探
黑客想入侵一个网站,通常第一步都是对目标网站进行信息刺探。这时可以使用“site:target.com”来获取相关网页,从中提取有用的资料
搜索相关页面
下载网站的数据库。搜索“site:target.com Filetype:mdb”可以寻找目标网站的数据库,其中site语法限定搜索范围,Filetype决定搜索目标。用这种方法有一个缺点,就是下载到数据库的成功率较低。在这里我们还可以采用另一种语法组合,前提是目标网站存在IIS配置缺陷,即可以随意浏览站点文件夹,我们搜索“site:target.com intext:to parent directory”来确定其是否存在此漏洞。在确定漏洞存在后,可以使用“site:target.com intext:to parent directory+intext.mdb”进行数据库的搜索
登录后台管理
找到网站数据库后,我们就可以从中找到网站的管理员帐户和密码,并登录网站的后台。对于网站后台的查找,可以使用语法组合“Site:target.com intitle:管理”或者“Site:target.com inurl:login.asp”进行搜索,搜索到后就可以在后台上传webshell,进一步提升权限
利用其他漏洞
如果下载数据库不成功,我们还可以尝试其他的入侵方法。例如寻找上传漏洞,搜索“Site:target.com inurl:upload.asp”。此外,我们还可以根据一些程序漏洞的特征,定制出Google Hack的语句。例如搜索“intext:to parent directory”可以找到很多可以浏览目录文件的网站,这都是由于没有设置好网站权限所造成的。在IIS中,设置用户访问网站权限时有一个选项,叫做“目录浏览”,可以让黑客肆意浏览你网站中的文件
cache
类似于百度的快照功能,网站打不开的时候可以用它
用途
- 找物理路径时,网站异常没恢复时,可以用它进行搜索
- 查看网站被删除信息时,也可以用它来搜索
参考文献:Google语法