google hacking
以下是 Google Hacking 的完整语法列表和高级组合示例,涵盖渗透测试、信息收集、漏洞挖掘等场景的实用技巧。所有语法均基于 Google 搜索引擎的合法功能,但请严格遵守法律和道德规范。
谷歌、百度、bing、搜狗(搜索微信文章)、雅虎等略有差异
详细用法:
(1)site: =主域名,搜索其主要域名下面的子域名
(2)allintext: = 搜索文本,但不包括网页标题和链接
(3)allinlinks: = 搜索链接, 不包括文本和标题。
(4)related:URL = 列出于目标URL地址有关的网页。
(5)link:URL = 列出到链接到目标URL的网页清单。
(6)使用“-”去掉不想看的结果,例如site:http://baidu.com http://-image.baidu.com
百度语法: https://www.cnblogs.com/k0xx/p/12794452.html
GHDB: https://www.exploit-db.com/google-hacking-database
一、完整 Google Hacking 语法列表
1. 基础操作符
操作符 | 说明 | 示例 |
---|
site: | 限定搜索特定域名或子域名 | site:example.com |
intitle: | 标题包含关键词 | intitle:"login" |
allintitle: | 标题包含所有指定关键词 | allintitle:"admin" "dashboard" |
inurl: | URL 路径包含关键词 | inurl:/admin |
allinurl: | URL 路径包含所有指定关键词 | allinurl:login.php?user= |
filetype: | 搜索特定文件类型 | filetype:pdf "confidential" |
ext: | 按文件扩展名搜索(同 filetype: ) | ext:sql "password" |
intext: | 正文内容包含关键词 | intext:"数据库密码" |
allintext: | 正文包含所有指定关键词 | allintext:"username" "password" |
cache: | 查看 Google 缓存的页面 | cache:example.com |
related: | 查找类似网站 | related:github.com |
info: | 获取网站的 Google 摘要信息 | info:example.com |
define: | 搜索词语定义 | define:SQL注入 |
2. 逻辑操作符
操作符 | 说明 | 示例 |
---|
AND 或空格 | 同时满足多个条件 | site:example.com 密码 |
OR | 满足任意一个条件 | 漏洞 OR 后门 |
- | 排除关键词 | 登录 -site:example.com |
() | 组合复杂逻辑 | (inurl:admin OR intitle:admin) -论坛 |
3. 高级操作符
操作符 | 说明 | 示例 |
---|
* | 通配符(匹配任意字符) | "username:* password:*" |
"..." | 精确匹配短语 | "您的密码错误" |
.. | 数值范围搜索 | 价格 $100..$500 |
AROUND(N) | 关键词间距不超过 N 个词 | "密码" AROUND(5) "泄露" |
weather: | 搜索某地天气 | weather:北京 |
stocks: | 搜索股票代码 | stocks:GOOG |
4. 隐藏功能
功能 | 说明 | 示例 |
---|
时间筛选 | 限定时间范围(通过搜索工具栏) | 最近一年、自定义日期 |
图片搜索 | 通过图片反向搜索敏感信息 | 上传图片查找来源 |
地图数据 | 搜索暴露的地理标记信息 | intitle:"security camera" site:google.com/maps |
二、组合示例大全(按场景分类)
1. 敏感文件泄露
场景 | 示例 | 说明 |
---|
数据库备份 | filetype:sql "DROP TABLE" site:example.com | 搜索 SQL 备份文件 |
配置文件 | intitle:"index of" "config.php" | 查找 PHP 配置文件 |
日志文件 | ext:log "error" "password" | 包含密码的日志文件 |
密钥文件 | filetype:key private | 私钥文件泄露 |
2. 后台与登录页面
场景 | 示例 | 说明 |
---|
管理员后台 | intitle:"admin login" inurl:/admin | 未授权访问的管理页面 |
默认密码 | "默认密码" site:routerlogin.net | 设备默认凭据 |
弱口令提示 | intext:"用户名或密码错误" inurl:login | 登录页面错误信息 |
3. 漏洞利用
场景 | 示例 | 说明 |
---|
SQL 注入点 | inurl:"id=" & intext:"Warning: mysql" | 存在报错信息的注入点 |
目录遍历 | intitle:"index of /" "parent directory" | 开放目录列表 |
API 接口暴露 | inurl:/api/v1 intext:"apikey" | 泄露的 API 密钥 |
4. 设备与系统
场景 | 示例 | 说明 |
---|
网络摄像头 | inurl:/view.shtml intitle:"Live View" | 公开的摄像头流 |
路由器管理 | intitle:"RouterOS" "admin" | 未授权的路由器配置页面 |
打印机控制台 | inurl:"/hp/device/this.LCDispatcher" | 惠普打印机管理界面 |
5. 开源情报(OSINT)
场景 | 示例 | 说明 |
---|
员工信息 | site:linkedin.com "CTO" "example.com" | 通过 LinkedIn 收集员工职位 |
文档元数据 | filetype:docx "作者:张三" | 从 Office 文档提取创建者信息 |
GitHub 泄露 | "github.com" "password" extension:env | GitHub 中的敏感环境变量文件 |
6. 错误信息泄露
场景 | 示例 | 说明 |
---|
调试模式 | intext:"DEBUG MODE" "PHP" | 开启调试模式的网站 |
数据库报错 | "ORA-12541: TNS 无监听程序" | Oracle 数据库错误信息 |
堆栈跟踪 | intext:"at java.lang.Thread" | Java 应用崩溃日志 |
三、高阶组合技巧
1. 通配符与模糊搜索
- 搜索带参数的 URL:
inurl:*.php?id= *
- 查找密码重置链接:
"password reset" site:example.com inurl:token=*
2. 时间范围限定
- 查找近期泄露的数据库:
filetype:sql "INSERT INTO users" after:2023-01-01
3. 混合逻辑精准定位
- 排除干扰结果:
(intitle:"管理后台" OR inurl:/admin) -site:gov.cn
- 组合文件类型与关键词:
filetype:xls "员工工资" site:example.com
4. 利用错误消息
- 发现 SQL 注入漏洞:
"You have an error in your SQL syntax"
- 识别配置错误:
"Access denied for user 'root'@'localhost'"
四、防御建议(补充)
- robots.txt 配置:禁止爬虫访问敏感路径(如
/admin
、/config
)。 - 文件权限控制:避免将备份文件(
.bak
、.sql
)存放在 Web 目录。 - 错误信息隐藏:自定义错误页面,避免暴露堆栈跟踪。
- 定期搜索自身:用
site:yourdomain.com
检查公开信息泄露。
五、工具增强
- Google Dork 自动化:
- 监控与告警:
- 使用
Google Alerts
监控公司关键词(如 site:example.com password
)。
六、合法与道德提醒
- 仅用于授权测试:渗透前需获得书面许可。
- 漏洞报告:发现漏洞后联系管理员,参考《漏洞披露规范》。
- 避免敏感数据:示例中的关键词均为演示用途,请勿针对真实系统测试。
七、语法解析与示例
1. index of /admin
- 用途:搜索开放目录列表中的
/admin
目录(常见管理后台路径)。 - 风险:暴露后台登录页面、未授权访问管理界面。
- 防御:禁用目录列表(Apache:
Options -Indexes
),设置访问权限(如 IP 白名单)。
2. index of /passwd
- 用途:查找 Unix/Linux 系统中的
/etc/passwd
文件(用户账户信息)。 - 风险:泄露用户名、UID/GID 等敏感信息(现代系统密码存储在
/etc/shadow
)。 - 防御:确保
/etc/passwd
文件权限为 644
,禁止 Web 访问系统文件。
3. index of /password
- 用途:搜索包含 “password” 关键词的目录或文件(如明文密码文件)。
- 风险:直接获取明文密码或哈希值。
- 防御:避免在代码或文件中明文存储密码,使用环境变量或密钥管理服务。
4. index of /mail
- 用途:查找邮件服务器或邮件存储目录(如
/var/mail
)。 - 风险:泄露用户邮件内容、账户信息。
- 防御:限制邮件目录的 Web 访问权限,加密存储敏感数据。
5. “index of /“ +passwd
- 用途:在根目录下搜索
passwd
文件。 - 示例结果:可能发现
/etc/passwd
被错误链接到 Web 根目录。 - 防御:检查 Web 目录中是否存在符号链接到系统文件。
6. “index of /“ +password.txt
- 用途:查找 Web 根目录下的
password.txt
文件。 - 风险:明文密码文件可直接下载。
- 防御:删除测试或临时文件,禁用目录列表。
7. “index of /“ +.htaccess
- 用途:暴露 Apache 服务器的
.htaccess
配置文件。 - 风险:泄露重定向规则、认证凭据(如
AuthUserFile
路径)。 - 防御:限制
.htaccess
文件权限(如 600
),避免存储敏感信息。
8. “index of /root”
- 用途:搜索 Unix 系统超级用户(root)的主目录。
- 风险:泄露 root 用户的 SSH 密钥、脚本或日志。
- 防御:确保
/root
目录权限为 700
,禁止 Web 服务器访问。
9. “index of /cgi-bin”
- 用途:查找 CGI 脚本目录(常见于老旧系统)。
- 风险:利用 CGI 漏洞(如 Shellshock)执行远程代码。
- 防御:升级或禁用 CGI 模块,设置严格的脚本权限。
10. “index of /logs”
- 用途:暴露日志文件目录(如访问日志、错误日志)。
- 风险:日志中可能包含敏感信息(如 SQL 错误中的数据库密码)。
- 防御:将日志存储在非 Web 目录,定期清理并加密存档。
11. “index of /config”
- 用途:查找配置文件目录(如数据库连接信息)。
- 风险:泄露
config.php
、settings.ini
等文件。 - 防御:将配置文件移出 Web 目录,使用环境变量注入配置。