Google的语法搜索框,本质上是查询一把万能钥匙。但大多数人只拿它开自家房门,漏洞少数人却用它撬开了别人家的语法保险柜。
2018年我做过一次实验。查询在搜索框里输入inurl:admin filetype:php,漏洞三秒内跳出两百多个后台登录页面。语法其中一半没做访问控制,查询直接回车就进了管理界面。漏洞有个地方政府的语法投票系统,后台能改票数,查询还能导出全部公民的漏洞身份证号。我没点进去,语法但那个瞬间我明白了——漏洞从不是查询黑客挖出来的,是漏洞管理员自己挂在网上等人捡的。
这类语法其实不复杂。核心就五六个操作符:site:限定域名,intitle:搜标题,filetype:锁文件格式,inurl:匹配URL特征,加上引号做精确匹配。组合起来就是杀伤力极强的查询语句。比如你想找暴露的数据库备份,就搜site:target.com filetype:sql。想找目录遍历漏洞,试inurl:..\/..\/——虽然Google会过滤部分特殊字符,但编码绕过的方法始终存在。
真正的技巧在于逻辑拼接,而不是死记硬背。拿site:edu.cn "password" filetype:xls来说,这条命令能把全国高校里误上传的选课密码表全捞出来。有次我在某985高校的服务器上找到一份《研究生复试评分表》,Excel文件没设密码,里面躺着三百多个学生的初试面试分项。那文件在百度网盘也有,但Google的索引让任何人都能在十秒内定位到它。
别以为只有老网站才中招。2022年,某头部云服务商的客户案例库被site:aliyuncs.com bucket这条语法扫出过上千个公开读写的存储桶。其中有个桶存着某连锁酒店的入住登记照片,身份证和房号拍在同一张图里。这事的诡异之处在于,云厂商的默认配置是私有的,但使用者图省事,把权限改成了“所有人可读”——Google的爬虫恰好就喜欢这类资源,顺手就给编了索引。
更刁钻的用法是配合cache:操作符。有些站点把敏感文件删了,但Google快照还留着。搜cache:target.com/backup.zip,照样能下载到已删除的压缩包。我见过一个案例,某P2P平台清盘后删光了投资人数据,但快照里完整保留了所有出借人的银行卡后四位和手机号。平台方以为删了就没了,Google却替他们做了三年备份。
这套玩意的可怕之处在于门槛低到发指。不需要任何编程基础,会打字就行。但反过来想,防守也简单——定期用同样的语法去搜自家域名,看有没有不该被索引的文件。大部分漏洞都是管理员把敏感文件丢在公开目录,却忘了给搜索引擎写robots协议。你只要在robots.txt里加两行Disallow,就能把99%的暴露面收起来。
不过话说回来,Google的索引能力这两年明显在收缩。很多动态页面和加密协议的内容爬不到了,但攻击者早就转向了Shodan和FOFA这类测绘引擎。工具换了,逻辑没变:凡是能被搜索引擎抓到的资源,就存在被滥用的一天。你唯一能做的,就是别把秘密放在能被索引的地方。