Google Hacking 高级搜索技巧与实战案例解析
1. Google Hacking 基础语法精讲
Google Hacking 本质上是通过特殊语法组合来精确控制搜索范围的技术。就像用显微镜观察标本一样,这些语法能帮我们快速定位网络上的特定信息。我刚开始接触时也觉得这些符号很神秘,但实际用起来比想象中简单得多。
最常用的基础语法有这几个:
- site:相当于把搜索范围锁定在特定网站,比如
site:github.com python就只在 GitHub 里找 Python 相关内容。实测下来,这个语法在排查企业内网信息泄露时特别管用。 - filetype:直接按文件格式筛选,有次我用
filetype:pdf 内部培训找到了某公司意外公开的机密文档。支持的文件类型包括 pdf/doc/xls 等常见格式,甚至能搜到 cfg/conf 这类配置文件。 - intitle:和inurl:这对组合特别适合找后台入口,比如
intitle:"登录" inurl:admin能发现大量默认后台页面。有次渗透测试中,我就用这个组合找到了客户未修改的默认管理员入口。
逻辑运算符是提升搜索效率的关键:
- 空格实现的AND关系:
漏洞 修复方案要求两个词必须同时出现 - 竖线|实现的OR关系:
漏洞|脆弱性会返回包含任意一个词的结果 - 减号-实现的NOT关系:
java -咖啡能排除不相关的内容
有个容易踩的坑是引号的使用。搜索"系统管理员"会作为完整短语匹配,而不加引号的话,三个字可能分散出现在不同位置。有次我找某系统文档时,加引号的搜索准确率提高了70%不止。
2. 高级搜索技巧实战
2.1 时间范围精准定位
用before:和after:可以锁定特定时段的信息。比如查找某漏洞的早期讨论:
after:2022-01-01 before:2022-06-30 "CVE-2022-1234"更精确的daterange:需要转换朱利安日期,虽然麻烦但能精确到秒。有次溯源攻击时,我就是用这个确定了攻击者上传木马的具体时间窗口。
2.2 邻近搜索 AROUND()
这个神语法很少有人会用,其实特别适合找技术文档。比如:
"配置错误" AROUND(5) "数据库"表示两个关键词之间不超过5个单词。上次排查数据库故障时,这个技巧帮我快速定位到了正确的配置说明,比普通搜索节省了半小时。
2.3 组合拳搜索技巧
真正的威力在于语法组合。比如找某电商网站的订单导出文件:
site:example.com filetype:xls "订单号" "手机号"我曾用类似方法发现过某平台泄露的用户数据。关键是要先想清楚:要找什么内容(订单号)、以什么形式存在(Excel)、在哪个范围(指定网站)。
3. 安全测试实战案例
3.1 敏感文件挖掘
查找暴露的数据库备份文件:
filetype:sql "DROP TABLE" "CREATE TABLE" -site:github.com这个组合排除了代码托管平台,专注找生产环境的备份文件。有次给客户做审计,发现他们运维人员把备份文件误传到公开目录,里面包含完整的用户表结构。
3.2 后台入口发现
用这个组合找未授权访问接口:
intitle:"API" inurl:"v1" "200 OK" -intext:"error"过滤掉报错页面,只返回正常响应的API接口。最近一次测试中,这样找到了某系统的未文档化管理接口。
3.3 配置信息泄露
搜索路由器配置页面:
intitle:"RouterOS" "Winbox" "password"曾发现某企业分支机构的路由器配置页面直接暴露在公网,管理员密码明文显示。这类问题用Google Hacking比端口扫描效率高得多。
4. 防御与反制措施
4.1 企业防护建议
定期用这些语法检查自家信息泄露:
site:yourdomain.com (password|credential|密钥)建议设置Google Alerts监控公司关键信息。有客户每周自动扫描site:*.company.com的子域名,及时发现了好几个被遗忘的测试环境。
4.2 搜索痕迹清理
发现敏感信息后,可以用Google的移除工具申请删除。但更有效的是从源头解决,比如:
- 给敏感目录添加robots.txt限制
- 设置HTTP认证或IP白名单
- 定期清理不再需要的公开文件
4.3 合法使用边界
这些技术就像"数字侦探工具",使用时要注意:
- 仅用于授权测试或自查
- 避免批量扫描造成服务压力
- 发现他人漏洞时应负责任的披露
有次我找到某政府网站泄露的文档后,通过正规渠道联系管理员,对方不仅快速修复还发了感谢信。这才是技术人应有的操守。
