利用Google和Github进行信息收集

利用Google和Github进行信息收集
知闲渗透测试信息收集语法大全
一、Google Hacking搜索语法
1. 基础语法
| 语法 | 说明 | 示例 | 用途 |
|---|---|---|---|
site:example.com |
限定域名搜索 | site:edu.cn filetype:pdf |
定位特定站点资源 |
inurl:keyword |
URL包含关键词 | inurl:admin/login |
查找管理路径 |
intitle:"标题词" |
标题包含关键词 | intitle:"后台管理" |
定位特定类型页面 |
intext:"内容词" |
正文包含关键词 | intext:"数据库密码" |
查找敏感信息 |
filetype:扩展名 |
指定文件类型 | filetype:sql |
查找特定类型文件 |
cache:url |
查看缓存页面 | cache:https://example.com |
访问已删除内容 |
link:example.com |
查找指向该域名的链接 | link:baidu.com |
分析网站外链 |
related:example.com |
查找相似网站 | related:github.com |
扩展搜索范围 |
2. 高级组合语法
场景1:查找数据库备份
site:target.com filetype:sql "INSERT INTO users" |
- 解释:限定站点+只搜SQL文件+包含用户表插入语句
- 预期:找到包含用户名/密码的数据库文件
场景2:寻找后台登录页面
intitle:"管理系统" inurl:login site:com.cn |
- 解释:中文标题+URL含”login”+国内商业域名
- 预期:定位网站后台入口
场景3:查找配置文件泄露
filetype:env DB_PASSWORD site:example.com |
- 解释:环境变量文件+包含数据库密码+目标站点
- 预期:找到含
DB_PASSWORD=xxx的配置文件
场景4:寻找源码备份
site:target.com filetype:zip "backup" OR "wwwroot" |
- 解释:限定站点+zip文件+包含”backup”或”wwwroot”
- 预期:找到网站源码压缩包
3. 实用搜索模板
信息收集类
- 子域名发现:
site:*.target.com - 敏感目录:
inurl:"/admin/" OR inurl:"/manage/" OR inurl:"/backstage/" - 测试页面:
inurl:"test.php" OR inurl:"debug.php" site:target.com
漏洞探测类
- 文件包含:
inurl:"?file=" OR inurl:"?page=" site:target.com - 命令执行:
inurl:"?cmd=" OR inurl:"?exec=" site:target.com - SQL注入:
inurl:"?id=" OR inurl:"?name=" site:target.com
内容泄露类
- WordPress后台:
site:target.com inurl:"wp-login.php" - phpMyAdmin:
site:target.com inurl:"phpmyadmin" - 临时文件:
filetype:tmp OR filetype:bak site:target.com - 服务器配置:
inurl:"httpd.conf" OR inurl:"nginx.conf" site:target.com
二、GitHub信息泄露搜索语法
1. 基本语法
| 语法 | 说明 | 示例 | 用途 |
|---|---|---|---|
path:pattern |
文件路径匹配 | path:*.env |
查找特定路径文件 |
filename:name |
文件名匹配 | filename:config.js |
定位配置文件 |
extension:ext |
文件扩展名匹配 | extension:env |
查找特定类型文件 |
language:lang |
限定编程语言 | language:python |
筛选特定语言代码 |
repo:username/repo |
限定仓库 | repo:defunkt/gists |
在特定仓库搜索 |
2. 高级搜索模式
GitHub搜索支持组合查询,语法结构:
(条件1) AND (条件2) AND ... (条件N) |
通用敏感信息搜索模板
(path:*.{常见扩展名} OR filename:*.{常见文件名}) AND ({敏感关键词}) |
常见扩展名:
xml,json,properties,sql,txt,log,tmp,backup,bak, |
常见敏感关键词:
password,secret,key,token,api_key,access_key, |
3. 实战示例
示例1:查找GitHub上的数据库凭证
(path:*.env OR path:*.config OR path:*.ini) AND (mysql OR postgres OR mongodb) AND (user= OR password= OR dbname=) |
示例2:查找API密钥(以OpenAI为例)
(path:*.{env,json,py} OR filename:openai.*) AND ("sk-" OR "openai_api_key") AND (openai OR gpt) |
示例3:查找GitHub Token
(path:*.{env,sh,py} OR filename:github.*) AND ("ghp_" OR "gho_" OR "ghu_") AND github |
示例4:查找SSH私钥
filename:id_rsa OR filename:id_dsa OR filename:*.pem |
示例5:查找特定公司敏感信息
"公司名" AND (password OR secret OR key OR token) AND (path:src OR path:config OR path:.env) |
三、实用搜索示例详解
1. 查找GitHub上的AWS密钥
(path:*.{properties,yml,yaml,env,json,java,py} OR filename:credentials OR filename:aws.*) |
预期结果:
aws_access_key_id = AKIAIOSFODNN7EXAMPLE |
2. 查找GitHub上的数据库连接字符串
(path:*.{config,env,yml} OR filename:database.*) |
预期结果:
DATABASE_URL = "mysql://user:password@host:port/dbname" |
3. 查找GitHub上的Slack Bot Token
(path:*.{env,json,js} OR filename:slack.*) |
预期结果:
SLACK_BOT_TOKEN = "xoxb-1234567890-0987654321-abcdefghijklmnop" |
4. 查找GitHub上的私钥文件
(filename:id_rsa OR filename:id_rsa.pub OR filename:id_dsa OR filename:id_dsa.pub OR filename:*.pem) |
预期结果:
-----BEGIN RSA PRIVATE KEY----- |
四、使用建议
- 组合使用:将多个条件用
AND连接,提高搜索精度 - 精确匹配:对关键词使用双引号,如
"password"确保精确匹配 - 排除干扰:使用
-排除不需要的结果,如-test -example - 语言过滤:使用
language:限定代码语言,减少无关结果 - 定期搜索:对目标组织定期搜索,发现新泄露的敏感信息
五、防御建议
- 永远不要将敏感信息(API密钥、密码等)提交到代码仓库
- 使用
.gitignore文件排除敏感文件 - 使用环境变量管理敏感配置,而非硬编码
- 定期审计代码仓库,查找潜在泄露
- 考虑使用专门的密钥管理服务
附录:常用文件扩展名列表
# 配置文件 |
附录:常见敏感关键词列表
# 认证相关 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果


