google hacking for penetration testers 手册笔记

参考链接:

Advanced operators reference

Google hacking database

注意:以下内容涉及到大量参考图表,图表均在本人相册《google hacking参数查询表》

第一章 谷歌搜索基础知识

1.谷歌翻译 可看作透明代理 利用: “翻译此页”

2.黄金法则:

不区分大小写

通配符*代表一个单词,非单一字母或一系列字母,在一单词开始或结尾使用星号和直接使用单词效果相同

保留查询关键字权利

强制搜索: 
        加引号:“words” 或 用布尔符号AND: "+word"      
        注:+与要搜索词间无空格

3.用通配符*代替某些查询单词突破谷歌32个查询单词的限制

4.布尔操作符 特殊字符

(AND)     +word 强制搜索word,无空格

(NOT)     -word 查询中忽略的word

(OR)       |world查找搜索里的1个或另一个关键字 (|管道符)

举例:

intext:password|passcode intext:username|userid|user filetype:csv

“查找所有文档中的文本中包含password或者passcode的页面。在那些页面中,只要求显示出那些包含username,userid或者user的页面。           

对于那些页面,只要求显示csv文件”

google是从左到右来读取查询的

谷歌对()视而不见,所以上例加括号是易阅读:

intext:(password|passcode) intext:(username|userid|user) filetype:csv

5.利用布尔符号进行搜索缩减 -

6.google url查询  
构造语法:www.google.com/search?hl=en&q=ihackstuff
www.google.com/search 为查询脚本
hl,q皆为参数 更多参数查看相册《google hacking参数查询表》  
 
注意区别:

lr  限定结果页面语言:

hl 显示结果所用的语言,查找到的网页未经过翻译

restrict 限定搜索返回特定地区主机的网页

第二章 高级操作符 advanced operators

下面将介绍一些常用的高级操作符,用来进行高级查询,使搜索结果更精确,更多的操作符自己google,或参考文章顶部给出的链接。

操作符语法:

操作符,冒号,关键字间无空格

词组做关键字则需保证操作符,冒号,和词组的第一个引号间无空格

布尔操作符和特殊操作符仍可用,但不能放在操作符与冒号间

一般以all开头的操作符都不能很好的与其他操作符一起使用

操作符:

Intitle 与 Allintitle:在标题中查找文本

Intitle:keyword  查询返回标题含keword的网页

intitle:”index of” 等价于intitle:index.of  (点匹配任意字符)

intitle:”index of” private 查询标题含有index of,网页任何地方(url,标题,文本)含有private的网页。谷歌把空格认为是高级操作符搜索关键字的结尾

intitle:”index of” ”backup files” 查询标题含有index of,网页任何地方(url,标题,文本)含有backup files的网页。谷歌把空格认为是高级操作符搜索关键字的结尾

allintitle:”index of” ”backup files” 查询标题含有 index of 和 backup files的网页

Inurl 与Allinurl:在url中查找文本

google不能有效搜索url协议部分 如http://

url中包含的特殊字符,谷歌也不能处理

inurl:admin index 返回url中含有index的网页

allinurl:admin index 返回url中含有index admin的网页。但是最好使用两次inurl而不要一次性使用allinurl,容易出现意想不到的错误。

Filetype:查询指定类型的文档,这意味着谷歌能抓取任意扩展名的页面

文档类型查询:http://filext.org

ext操作符和代替filetype

如filetype:xls 等价 ext:xls

Allintext :返回含有查询所有关键词的网页

不可和其他高级操作符混用,以免误作关键字

Site:把搜索精确到特定站定

允许在某个特定的网站或域中搜索网页

谷歌读取服务器名使从右到左,不同于人类正常读序

site:qq.com

Link:搜索与当前网页从在链接的网页

不可和其他高级操作符混用

link:linux.org

Inanchor:在链接文本中查找文本
他搜索的是一个链接的文本表示,而不是实际的url。如:网址,给他加一个超链接,我们搜的是网址二字,非实际地址链接

Daterange:查询某个特定日期内发布的网页

参数必须是一个日期范围,日期使用儒略历(julian date)中间以破折号分开

daterange:2452164-2456164 “key word”

numrange:搜索数字,必须提供最小值与最大值两个查询参数,用最大与最小值相等的参数查一个值。

numrange:min max 等价于缩写 min..max  用两个句点隔开

Cache:显示网页的缓存版本 

cache:blackhat.org

Info:显示谷歌摘要信息

info:qq.com

Related:显示相关站点

related:qq.com

Phonebook, Rphonebook, Bphonebook:搜索(住宅,商业,住宅和商业)电话列表。参数是姓名,地址,点名

Author:搜索谷歌论坛groups中新闻组帖子的作者

Group:搜索谷歌论坛标题

Insubject:搜索谷歌论坛主题行
 

Msgid:通过id来查看groups中的帖子,这个可能被as_msgid代替了
 

Stocks:搜索股票信息 参数时有效股票简称
 

Define:显示某个术语的定义

操作符的混合使用表格 查看我的相册 《google hacking技术手册参数查询》

对于混合高级操作符使用,请不要延伸“自相矛盾”的规则。

常见错误:

site:com site:edu

不可能网址后缀又是com又是edu

inanchor:click –click

前面需要含click的后面又过滤了,最后结果为空,自相矛盾

allinurl:pdf allintitle:pdf

两个all出现,很糟糕

link:www.microsoft.com linux

link不可和其他操作符混用,这个查询结果和”link.www.microsoft.com” linux 结果一致。

第三章 google hacking基础

利用缓存匿名浏览(只有在只显示缓存文本,才能真正匿名)

缓存链接地址+&strip=1
如:
http://216.239.41.104/search?q= cache:Z7FntxDMrMIJ:www.phrack.org/hardcover62/++site:www.phrac k.org+inurl:hardcover62&hl=en&strip=1

(技巧:搜索代理服务器:inurl:”nph-proxy.cgi” “start browsing”或”cacheserverreport for” “this analysis was produced by calamaris”)

玩转缓存关键字高亮
在基础url/后部区域列出想要高亮的关键字即可,如:.......:www.xxx.com/key+word+one+two+........便可加亮key,word,one,two

查找目录列表
intitle:index.of “parent directory” (用 parent directory name size等来缩小范围)

查找特定目录
intitle:index.of.admin
intitle:index.of inurl:admin

查找特定文件
intitle:index.of ws_ftp.log
filetype:log inurl:ws_ftp.log

服务器版本
intitle:index.of “server at”

可进一步扩展查询指定服务器

?intitle:index.of “Apache/1.3.27 Server at”

通过目录列表查找到某些特定的服务器:相册中查表
通过搜索特定且隐蔽的服务器版本:相册中查表

遍历

intitle:index.of inurl:”/admin/*”
也可以用软件做这些挖掘,如libwhisker

递增置换
/gallery/wel008-1.jpg 增换 /gallery/wel008-2.jpg

拓展遍历

/docs/index.htm 拓展 /docs/index.asp 拓展 /docs/index.php.bak 非常重要的备份文件,可查看源码,作者,等等幕后消息。

第四章 文档加工与数据挖掘

google不搜索元数据。比如word文档的属性信息:作者,公司等

网站配置文件:

配置文件能够向攻击者透露敏感信息

可通过配置文件的扩展名来搜索配置文件,如 ini conf config cfg等

日志文件:

也能像攻击者透露敏感信息,而且通常比配置文件的信息更新

通过扩展名搜索,如 log

office文档:

常见的格式有pdf,doc,txt,xls

每个文档内容不同,像是private,password,backup,admin这样的字符串,意味着敏感文件

数据库挖掘

登录入口,尤其是制造商提供的默认入口,可以很容易搜索到。搜索单词 login,welcome,copyright statements找入口都是极好的方式

位于服务器端和用户端的软件都有帮助文件,这些文件会泄漏应用程序的配置和使用信息,不同的错误消息的内容都能用来剖析目标,会泄漏很多数据库内容

数据库转储:

只要得到任何转储,就能重建数据库。转储已证明是所有数据库的发现中泄漏信息最多的,因为他包括完整的或者部分的数据库内容。可通过数据库转储的头部字符串搜索找到。如 “#dumping data for table”

搜索文件最好的组合是:filetype:aaaa inurl:aaaa.aaa

可以组合搜索:inurl:conf OR inurl:config OR inurl:cfg

有效的缩减技术:
  使用配置文件中的特有词组创建强大基本搜索
  过滤掉sample,example,test,howto,tutorial单词剔除明显的示例文件
  用-cvs过滤掉cvs存储器,他们通常存放了默认的配置文件
  若搜索unix文件就过滤掉manpage,manual
  搜索配置文件中最常改变的域,并对该域缩减搜索。

以下示例均在相册

配置文件搜索示例:

日志文件搜索示例:

流行的office文档文件类型:

搜索可能敏感的office文档的查询示例:

搜索数据库页面的查询:

搜索数据库帮助文件的查询:

搜索数据库错误消息的查询:

搜索数据库转储的查询:

搜索数据库文件的查询:

第五章 google在信息收集框架中扮演的角色

这章容量较大,代码较多,知识较杂,不易笔记,想学习的看书,网上有下载的,就略过了。

第六章 搜索漏洞利用与查找目标

搜索漏洞利用代码

  remote exploit和vulnerable exploit这样的简单搜索在安全社区中的漏洞利用
  inurl:0day 可作为旧的备用搜索
  inurl:sploit仍有很好的效果
搜索公开的漏洞利用站点:
  filetype:c exploit
  分离搜索结果中的站点
  grep cached exp | awk -F” -” ‘{print $1}’ | sort -u

通过常见代码字符串搜索漏洞利用:?

  字符串搜索源代码示例表:

使用google 代码 搜索查找代码

  google代码搜索操作符表:

搜索易受攻击的代码的google代码搜索查询表:

搜索恶意软件和可执行文件:
http://metasploit.com/research/misc/mwsearch

搜索易受攻击的目标
  利用演示页面信息 如 powered by aaaaa
  利用页面源代码
搜索易受攻击的web应用程序的示例表:
利用cgi扫描搜索目标

第七章 简单有效的安全性搜索

site

intitle:index.of
error|warning
login|logon
username|userid|employee.ID|”your name is”
admin|adminstrator
-ext:html -ext:htm -ext:shtml -ext:asp -ext:php
inurl:temp|inurl:tmp|inurl:backup|inurl:bak
intranet|help.desk
根据前面章节内容品味上面所搜

第八章 跟踪搜索web服务器,登录入口和网络硬件

定位并剖析web服务器
  搜索默认的apache安装的查询表:
  查找特定版本的iis服务器的查询表:
  搜索netscape服务器的查询表:
  更多更多服务器的查询表:
  查询默认文档的查询表:
  搜索默认程序的查询表:

定位登录入口:
  查找登录入口的查询表:
  使用web工具扫描
  查找各种网络报告示例表:

瞄准使用web的网络设备
  网络设备查询表:

第九章 用户名,口令和其他秘密信息

搜索用户名查询示例表:
搜索口令信息的查询表:
通用的针对口令信息查询:
  intext:(password|passcode|pass)intext:(username|userid|user)

搜索财务账号:
  财务程序文件扩展名表:

搜索各种敏感信息的查询:

第十章 hacking google服务

第十一章 google hacking 案例

本笔记抛砖引玉,有兴趣好好学习的就去阅读这本手册吧《google hacking for penetration testers》,百度一下就有了

google hacking for penetration testers 手册笔记,布布扣,bubuko.com

时间: 2024-12-14 13:09:27

google hacking for penetration testers 手册笔记的相关文章

Google Hacking基础

intext:这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:动网.将返回所有在网页正文部分包含"动网"的网页.allintext:使用方法和intext类似. intitle:和上面那个intext差不多,搜索网页标题中是否有我们所要找的字符.例如搜索:intitle:安全天使.将返回所有网页标题中包含"安全天使"的网页.同理allintitle:也同intitle类似. cache:搜索google里关于某些内容的缓存

Google Hacking

Google Hacking指利用google搜索引擎搜索信息来入侵的技术和行为 intitle 把网页的URL的某个字符作为搜索条件 intext 把网页中的正文内容中的某个字符作为搜索条件 inurl 用户搜索网页上包含的URL filetype 指定类型的文件 cache 搜索关于某些内容的缓存 还有一些操作符也是很有用的 +  把google可能忽略的字列如查询范围 -   把某个字忽略 ~  同意词 .    单一的通配符 *   通配符可代表多个字母 ""  精确查询 Ex

类型 - PHP手册笔记

原文:类型 - PHP手册笔记 类型简介 PHP 支持 8 种原始数据类型. 四种标量类型: boolean(布尔型,不区分大小写) integer(整型) float(浮点型,也称作double) string(字符串) 两种复合类型: array(数组) object(对象) 最后是两种特殊类型: resource(资源) NULL(无类型) 如果想查看某个表达式的值和类型,用var_dump()函数. <?php $a = array(1, 2, array("a", &q

表达式 - PHP手册笔记

原文:表达式 - PHP手册笔记 PHP是一种面向表达式的语言.表达式的定义可以描述为,任何有值的东西. PHP支持全等运算符===(值和类型均相同)和非全等运算符!==(值或者类型不同). PHP的三元条件运算符貌似和C语言不太一样,这里没提,那就先简单略过去吧. (全文完)

基本语法 - PHP手册笔记

原文:基本语法 - PHP手册笔记 PHP标记 如果文件内容是纯PHP代码,最好在文件末尾删除PHP结束标记.这可以避免在PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图.当然PHP开始标记<?php前的空格或者换行符依然会输出. 使用条件的高级分离术 下面这段代码的意思很容易理解,关键是if-else的用法,这样使用在文本输出是显的逻辑更加清晰. <?php $expression = false; ?> <?php if

入门指引 - PHP手册笔记

原文:入门指引 - PHP手册笔记 曾经简单的学习过PHP,看的是<PHP和MySQL Web开发>,还有万能的搜索引擎的帮助.这次准备系统的学习一下,参考资料是PHP Manual. PHP能做什么 PHP主要用于服务端的脚本程序,但PHP的功能远不局限于此.PHP主要用于以下三个领域: 服务端脚本 命令行脚本 编写桌面应用程序(PHP-GTK) 实用的脚本 $_SERVER是一个特殊的PHP保留变量,它包含了web服务器提供的所有信息,被称为超全局变量.可以通过$_SERVER['HTTP

Python学习手册笔记

之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我在这里推荐了几篇文章,有其他语言编程经验的人简单看一看就可以很快地开始编写Python程序了. 黑体表示章节, 下划线表示可以直接在原文对应位置查到的专有技术名词. 原书配套答案请到http://www.hzbook.com/Books/4572.html下载,简单注册即可. 第三章 如何运行程序 impor

异常处理 - PHP手册笔记

原文:异常处理 - PHP手册笔记 PHP代码中所产生的异常可被throw语句抛出,并被catch语句捕获.需要进行异常处理的代码都必须放入try代码块内,每一个try至少要有一个与之对应的catch.当一个异常被抛出时,所在代码块后面的代码将不会继续执行,此时PHP会尝试查找第一个能与之匹配的catch.当然,PHP允许在catch代码块内再次抛出throw异常.如果一个异常没有被捕获,且未使用set_exception_handler()作相应处理的话,PHP将会产生一个严重错误. 这里有一

类与对象 - PHP手册笔记

原文:类与对象 - PHP手册笔记 基本概念 PHP对待对象的方式与引用和句柄相同,即每个变量都持有对象的引用,而不是整个对象的拷贝. 当创建新对象时,该对象总是被赋值,除非该对象定义了构造函数并且在出错时抛出了一个异常.类应在被实例化之前定义. 创建对象时,如果该类属于一个名字空间,则必须使用其完整名称. 在类定义内部,可以用new self和new parent创建对象. <?php $instance = new stdClass(); $assigned = $instance; $re