Google 搜索信息收集常用语法
这篇整理 Google 搜索在信息收集中的常用写法。Google 的搜索语法会调整,不要把网上流传的所有 dork 都当成当前官方稳定操作符;实际使用时应先用普通搜索验证结果。涉及安全测试时只针对自己或明确授权的目标。
当前 Google 官方帮助页明确列出的常用操作包括精确短语、site:、排除 -、filetype:、before:、after:。intitle:、inurl:、intext: 等写法长期常用,但并非都出现在当前官方操作符清单中,结果行为可能变化。
一、常用搜索语法
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" |
related: |
某些情况下可用于查找相似站点,结果支持度可能变化 |
related:github.com |
cache: 已被 Google 正式停用;info:、link: 等老操作符也不应再作为当前稳定语法写进自动化流程。ext:、allintitle:、allinurl:、allintext: 等虽然长期有人使用,也建议以当前实际搜索结果为准。
2. 逻辑操作符
| 操作符 |
说明 |
示例 |
AND 或空格 |
同时满足多个条件 |
site:example.com 密码 |
OR |
满足任意一个条件 |
漏洞 OR 后门 |
- |
排除关键词 |
登录 -site:example.com |
() |
组合复杂逻辑 |
(inurl:admin OR intitle:admin) -论坛 |
3. 高级操作符
| 操作符 |
说明 |
示例 |
* |
常用于引号短语中的占位词,不等同于正则里的“任意字符” |
"username * password" |
"..." |
精确匹配短语 |
"您的密码错误" |
.. |
数值范围写法,实际结果需验证 |
价格 100..500 |
AROUND(N) |
常见的邻近词搜索写法,支持度可能变化 |
密码 AROUND(5) 泄露 |
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. 漏洞利用
| 场景 |
示例 |
说明 |
| 可能存在动态参数并暴露数据库报错 |
inurl:"id=" intext:"Warning: mysql" |
只能作为信息收集线索,不能仅凭搜索结果断定存在 SQL 注入 |
| 目录遍历 |
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 明写进 robots 反而可能暴露路径。
- 文件权限控制:避免将备份文件(
.bak、.sql)存放在 Web 可访问目录。
- 错误信息收敛:生产环境不要向外暴露详细堆栈、数据库连接信息等调试内容。
- 定期搜索自身资产:用
site:yourdomain.com、filetype: 等检查公开索引,发现敏感内容后从源站移除并按搜索引擎流程申请更新。
五、工具增强
- Google Hacking Database(GHDB):可以作为历史 dork 参考,但其中很多查询来自旧环境,使用前仍要验证当前搜索语法和目标授权范围。
- 监控与告警:可以使用 Google Alerts 监控品牌、域名等公开关键词;涉及敏感词时注意不要把告警查询本身当成漏洞验证。
六、合法与道德提醒
- 仅用于授权测试:渗透前需获得书面许可。
- 漏洞报告:发现漏洞后联系管理员,参考《漏洞披露规范》。
- 避免敏感数据:示例中的关键词均为演示用途,请勿针对真实系统测试。
七、语法解析与示例
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 目录,使用环境变量注入配置。
评论将在接近此处时加载,也可点击立即加载。