Google Hacking从0到1

文章目录

  • 前言
  • 1、什么是google搜索
    • 1.1基础查询
    • 1.2高级搜索
    • 1.3使用布尔运算符
  • 2、高级运算符
    • 2.1运算符语法
    • 2.2常用运算符
  • 3、Google Hacking 基础
    • 3.1目录列出
      • 3.1.1 查找特定目录
      • 3.1.2 查找特定文件
      • 3.1.3 服务器版本
    • 3.2目录遍历/目录穿越
  • 4、10个简单的安全搜索
  • 5、总结
  • 参考


前言

什么是Google Hack搜索,它和普通的搜索由什么区别?深入理解Google Hacking,学会如何利用Google Hacking进行信息收集。

1、什么是google搜索

就像百度,在搜索框输入我们要检索的东西/概念/关键字,百度匹配关键字,按照一定的逻辑/规则/算法,返回与之相关的信息。
在这里插入图片描述
这是现代软件程序提供给我们的一个服务。Google搜索是一个过程,它的目标是找到关于某一主题的信息。这个过程从一个基本搜索开始,通过各种方式对其进行修正,直到只返回相关信息的页面。

1.1基础查询

  • 最简单的Google查询由输入到搜索界面中的单个单词或多个独立单词组成。
  • 比单词搜索稍微复杂一点的是短语搜索。短语是用双引号括起来的一组单词

在这里插入图片描述
如上图,我们在Goole主页的搜索框输入1,仅0.33秒,返回了约 25,190,000,000 条结果,我们可以逐个点击返回的页面链接,查看是否符合我们心中所寻。如何海量的信息,我们一个个去点击,效率太低。谷歌提供了一些筛选条件,让我们可以过滤一些内容。我们点击工具
在这里插入图片描述
出来了3个条件,可以让我们缩小搜索范围,更精确的找到我们想要的信息。

1.2高级搜索

如果还不能满足我们的要求,点击高级搜索,里面提供了许多特性,好满足我们进一步筛选内容的需求。借助高级搜索,加上我们对漏洞的基础知识,即可执行所谓的Goolgle Hacking搜索,即根据漏洞的特征(特定字符串、文件类型等),结合Google高级搜索特性 ,查找目标资产或脆弱点。Google高级搜索如下图:
在这里插入图片描述

1.3使用布尔运算符

要执行高级查询,必须理解布尔操作符AND、OR和NOT为了学习如何构造查询,记住一点:Google从左到右读取你的查询。

  • and,对Google来说这个运算符是多余的,谷歌自动搜索你查询中的所有元素。
  • OR ,连接两个搜索项时必须大写,也可以用 | 表示。
  • NOT,把一个单词排除出一个搜索之外。例:site:xx.com -site:www.xx.com,即符合xx.com的但排除含有www.xx.com的结果

我们看一个复杂的例子:
intext:password | passcode intext:username | userid | user filetype:csv
请求是这样写的:“找到文档文本中包含password或passcode的所有页面。从这些页面中,只向我展示包含以下的页面,这些页面在文档的文本中包含单词username、userid或user。从这些页面中,只给我看CSV文件。

2、高级运算符

上一节已经介绍过了Google的高级搜索,通过页面中所见即所得的方式更细粒度地设置我们想要执行地查询。如果你了解网络通信原理或者说HTTP协议,你应该明白,我们在Google页面中的输入、下拉框选择,最后都是通过GET请求查询字符串发送到服务端的,稍微观察一下你每次执行高级查询时URL的变化即可验证我们的说法。
Google提供了被称为高级运算符的特殊字符来帮助你执行更加复杂的高级查询,上述高级查询的Web页面最后提交时,都转换为URL中的查询字符串。如果一个查询中没有使用高级运算符,Google将会在网页的任何区域来寻找你的搜索项,包括标题、文本、URL,或者其他类似的地方。

2.1运算符语法

高级运算符加入到查询中,是为了让查询更加精确。一个高级运算符的基本语法:operator:search_term,使用高级操作符时,请牢记以下几点:

  • 在运算符、冒号和搜索项之间没有空格
  • 只要遵守基本的Google查询语法和高级操作符语法,就可以在单个查询中组合高级操作符。
  • search_term部分遵循上述基础查询的语法

2.2常用运算符

在这里插入图片描述

3、Google Hacking 基础

3.1目录列出

目录列出/目录列表(英文directory listing),是一种Web类型,它列出Web服务器上的文件和目录。大多数目录列表以短语index of 开头,并出现在标题当中,一个直接的查询就是intitle:"index of",单单靠这个搜索项,存在很大的噪音(搜索结果不精确),有必要添加一些额外的特征,优化查询以提供更加准确的结果,例如intitle:"index of" "parent" directory",这个查询返回了目录列表,因为它不仅关注标题中的index of,而且还关注目录列表里的经常能找到的关键词,比如parent directory、name、size。现在可以打开Google页面实践一下!

3.1.1 查找特定目录

在某些情况下,不仅要查找目录列表,而且还要查找允许访问某个特定目录的目录列表,这可能是很有价值的。通过把目录名字添加到搜索查询里实现。为例查找在目录列表里可以访问的admin目录,可以使用intitle:"index of" admin或者intitle:"index of" inurl:admin

3.1.2 查找特定文件

因为目录列出的页面已经列出了文件名和目录,所以可以在一个文件列表里找到特定的文件。我们的思路很简单:

  1. 通过intitle:"index of",指定标题的关键字来索引目录列表页面;
  2. 在网页文本指定文件名

这样就可以查找任何类型的文件了。看个例子:intitle:"index of" access.log,用来查找访问日志文件。

3.1.3 服务器版本

要构建查找服务器版本的Google查询,思路也是一样的。

  1. intitle:“index of” —> 目录列表
  2. 服务器信息的关键字

一些目录列表不但提供了服务器软件名还有版本号,我们使用以下查询intitle:"index of" "server at"实践一下看看:
在这里插入图片描述

3.2目录遍历/目录穿越

目录列表罗列出所有的目录及文件名,我们可以点击进去下一级目录,也可以通过parent directory返回上一级目录,这是最简单的目录遍历。 使用intitle:"index of" inurl:admin,我们会发现admin目录,这是个很有潜在价值的目录。
在这里插入图片描述
如果Web脚本存在漏洞,我们可以利用../../../etc/passswd类似的URL 突破Web服务器目录树。

4、10个简单的安全搜索

  1. site
    site:xx.com -site:www.xx.com
  2. intitle:index.of(针对目录列表的通用搜索)
  3. error|warning
    错误信息会泄露大量关于目标的信息。
    (“for more information”|“not found”) (error|warning)
  4. login|logon
  5. unername|userid|employee.ID “your name is”
  6. password|passcode|“your name is”
  7. admin|administrator
  8. -ext:html -ext:shtml -ext:asp -ext:php
  9. inurl:yemp inurl:tmp inurl:backup inurl:bak
  10. intranet|help.desk

语句的具体解释都在:Google Hacking 渗透测试者的利剑第三版。

5、总结

记住:Google从左到右读取我们构造的查询语句,我们采用高级运算符:"关键字" 逻辑运算符 高级运算符:"关键字" 逻辑运算符 高级运算符:"关键字"
这样的结构即可实现所谓Google Hacking。2个有用的工具网站:

  1. 各位”黑客“们利用Google发现漏洞的语句集合:https://www.exploit-db.com/google-hacking-database
  2. 生成你的Googe Hacking语句:https://pentest-tools.com/information-gathering/google-hacking

参考

[1] Google Hacking 渗透测试者的利剑第三版
[2] https://su18.org/post/googlehack/
[3] https://www.googleguide.com/
[4] https://www.cnblogs.com/botoo/p/10231872.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】InfiniBand内核驱动_mlx4_ib_post_send

一、注释 以下是_mlx4_ib_post_send函数的注释,该函数用于处理InfiniBand工作请求(WRs)的发送过程: static int _mlx4_ib_post_send(struct ib_qp *ibqp, const struct ib_send_wr *wr,const struct ib_send_wr **bad_wr, bool …

PS从入门到精通视频各类教程整理全集,包含素材、作业等(5)

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 初寒调色案例及练习图 等文件 https://www.alipan.…

记一次使用spring事件机制失效排查修复

前言 在日常业务开发中过程,我们有时候为了业务解耦,会利用spring的机制,就是利用spring提供的ApplicationListener、ApplicationEventMulticaster等核心API来实现。(注: 我这边列的是核心底层API接口,正常…

电脑常见故障检测方法与对应问题分析说明

电脑常见故障检测方法与对应问题分析说明 前言说明1、机器无法开机故障2、屏幕无法显示3、无法联网4、能开机但是无法进入系统,提示not boot5、USB接口无法识别U盘 前言说明 本文为小白向,许多内容属于经验学而非科学,还望大佬们轻喷。 如上…

Word中使用Zotero插入文献

1. word 里面有插件 2. 插入文献 2.1 点击【Add/Edit Citation】 2.2 在方条中输入文献,回车 3. 显示Reference 在文档中选好reference的位置, 点击【Add/Edit Bibliograph

pygwalker+streamlit python看板库使用体验

算作前言 在 B 站看到 pygwalker 的介绍,很感兴趣。 是一个类似于简化版的 tableau 工具。 原版 docs PyGWalker 文档 – Kanaries 搭建看板 直接结合 streamlit 使用,streamlit 真的神器。 import pygwalker as pyg import pandas as pd import str…

分布式全闪占比剧增 152%,2023 年企业存储市场报告发布

近日,IDC 发布了 2023 年度的中国存储市场报告。根据该报告,在 2023 年软件定义存储的市场占比进一步扩大,分布式全闪的增长尤其亮眼,其市场份额从 2022 年的 7% 剧增到 2023 年的 17.7%,增长了 152%。 01 中国企业存…

递归遍历目录结构和树状展现

在D盘下创建文件夹“电影”,在文件夹“电影”下创建“华语”、“好莱坞”,在文件夹“华语”下创建文件“人民的名义.mp4”、“天安门传奇.mp4”、“程序员统治世界.mp4”,在文件夹“好莱坞”下创建文件“国王的演讲.mp4”、“速度与激情8.mp4…

Java接口与继承实践:Ether通信系统的构建(day16)

创建一个接口Icontroller, 再创建一个接口IReceiver, 创建一个子类实现IReceiver, 创建一个子类实现IContrller, 创建一个类Ether 创建一个Signal类 创建一个类Radiosignal继承Signal 创建一个用户User 最后创建一个Main类 今日总结&#xff1a…

梵宁教育课程介绍:设计之路,从这里开始

梵宁教育作为一家靠谱且正规的线上教育机构,在师资力量、教学内容、教学方式、服务保障以及社会责任等方面都表现出色。他们致力于为广大学员提供高质量的学习设计教育服务,帮助他们掌握核心知识和技能,实现个人价值和职业梦想。 梵宁教育的课…

【Android Studio3.5.2安装以及错误错误解决】

前言 下面是博主在安装Android studio时遇到的一些问题,并且花费很长时间寻找解决方法,经过了血和泪的教训下面将自己在安装过程中遇到的查看的资料贴出来(感谢各位大佬的文章帮助本闲狗解答疑惑,此处贴出原文链接,如…

【WEEK5】 【DAY5】DML语言【中文版】

2024.3.29 Friday 目录 3.DML语言3.1.外键(了解)3.1.1.概念3.1.2.作用3.1.3.添加(书写)外键的几种方法3.1.3.1.创建表时直接在主动引用的表里写(被引用的表的被引用的部分)3.1.3.2.先创建表后修改表以添加…

《系统架构设计师教程(第2版)》第8章-系统质量属性与架构评估-02-系统架构评估

文章目录 1. 一些重要概念1.1 敏感点 (Sensitivity Point)1.2 权衡点 (Tradeoff Point)1.3 风险承担者 (Stakeholders)1.3.1 系统生产者1.3.2 系统消费者1.3.3 系统服务人员1.3.4 其它人员 1.4 场景 (scenarios) 2. 系统架构评估方法2.1 基于场景的架构分析方法(SAA…

漏洞-CORS跨域资源共享JSONP回调

CORS跨域资源共享 Cors漏洞详解 - FreeBuf网络安全行业门户 响应标头中 当Access-Control-Allow-Origin字段为*时&#xff0c;就代表任意域都可以访问&#xff0c;就导致了Cors漏洞的产生 构造poc <!DOCTYPE> <html> <script type"text/javascript&quo…

什么是智慧公厕?智慧城市下的智慧公厕有什么功能和特点?

随着科技的不断进步和城市化的加快发展&#xff0c;智慧城市已经成为我们生活中的一部分。而在智慧城市的建设中&#xff0c;智慧公厕作为城市基础设施的重要组成部分发挥着重要的作用。那么什么是智慧公厕&#xff1f;智慧公厕是针对公共厕所的日常使用、运行、管理、运营等过…

分析:两种不同的函数模板写法,其中一种为何不行

接上篇&#xff1a; 利用类型&#xff0c;做函数模板的“重载”-CSDN博客 比较两种模板的写法 为什么左边不可行&#xff1a; 注意&#xff0c;左边的写法的第二个模板参数&#xff0c;是默认参数的形式。为何这里采取了默认参数的形式呢&#xff0c;本意是想让编译器来走sfi…

Java学习之类和对象、内存底层

目录 表格结构和类结构 表格的动作和类的方法 与面向过程的区别 具体实现 对象和类的详解 类的定义 属性&#xff08;field 成员变量&#xff09; 方法 示例--编写简单的学生类 简单内存分析(理解面向对象) 构造方法(构造器 constructor) 声明格式&#xff1a; 四…

super关键字的使用总结

一、super关键字的使用1. 为什么需要super&#xff1f;举例1&#xff1a;子类继承父类以后&#xff0c;对父类的方法进行了重写&#xff0c;那么在子类中&#xff0c;是否还可以对父类中被重写的方法进行调用&#xff1f; 可以&#xff01;举例2&#xff1a;子类继承父类以后&a…

一个页面实现两个滚动条【前端】

一个页面实现两个滚动条【前端】 前言版权推荐一个页面实现两个滚动条最后 前言 2024-4-2 12:54:46 以下内容源自《【前端】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是https://jsss-1.blog.csdn.net …

【zlm】音视频流与音频流合并的设计

目录 设想一 设想二 方案三 关键技术 测试语句 测试脚本 参考文档 设想一 //开始录制_option.mp4_save_path custom_path;_option.mp4_max_second max_second;vector<Track::Ptr> mytracks getTracks();auto src MediaSource::find( DEFAULT_VHOST, "1&quo…