大家好,我是v浪。开发者或者运维人员因为失误或者其他原因,将一些关键信息发布到了互联网上。搜索引擎作为互联网上最牛X的爬虫,在那个月黑风高的晚上,爬取了这些有用的信息。
今天,我要和大家分享5个使用Google搜索发现网站漏洞的黑客级技巧。这些技巧不仅能帮助安全研究人员更有效地进行渗透测试,也能让网站管理员更好地了解自己网站的安全状况。记住,这些技巧应该只用于合法的安全测试中,未经授权对他人网站进行测试是违法的。让我们开始深入了解这些强大的搜索技巧吧!
1. 精准定位目标网站 - site:指令的妙用
我们要学习的第一个技巧是使用Google的"site:"指令。这个指令可以让我们将搜索范围限定在特定的网站域名下。但是,真正的黑客级用法是结合排除指令,来发现那些容易被忽视的子域名或测试环境。
基本用法: site:example.com
这会返回example.com域名下的所有页面。但是,我们可以更进一步:
高级用法: site:example.com -www -inurl:blog
这个搜索语句做了什么呢?它告诉Google:
搜索example.com域名下的页面 排除所有www开头的页面(通常是主站内容) 排除URL中包含"blog"的页面
为什么这么做?因为大多数常见的页面(如主页、博客等)通常安全性较高,而那些被遗忘的子域名、开发环境或旧版本网站往往存在更多安全隐患。
实际应用: 假设我们在测试一个大型科技公司的网站安全。我们可能会使用如下搜索: site:bigtech.com -www -inurl:(support|help|blog|press|careers)
这个搜索可能会发现一些意想不到的结果,比如:
dev.bigtech.com (开发环境) test.bigtech.com (测试环境) old.bigtech.com (旧版网站) internal.bigtech.com (内部系统)
这些子域名可能包含敏感信息或存在安全漏洞,因为它们可能没有得到与主站同等级别的安全维护。
2. 寻找意外泄露的敏感信息 - 利用代码分享平台
在软件开发过程中,开发人员经常使用代码分享平台来交流代码片段或寻求帮助。然而,有时候他们可能会不小心将包含敏感信息的代码片段公开分享。作为安全研究人员,我们可以利用这一点来发现潜在的信息泄露。
基本搜索: site:pastebin.com "password"
这个搜索可能会返回大量结果,但很多可能与我们的目标无关。
高级搜索: site:(pastebin.com | jsfiddle.net | codepen.io) ("api_key" | "secret_key" | "database password") "example.com"
这个搜索做了什么?
它在多个常用的代码分享平台上搜索 寻找可能包含API密钥、密钥或数据库密码的内容 将结果限定在与"example.com"相关的内容中
为什么这很重要? 开发人员可能在寻求帮助时无意中分享了敏感信息。这些信息如果落入坏人之手,可能导致严重的安全问题。
实际应用: 假设我们正在评估一个名为"techstart"的初创公司的安全状况,我们可能会使用如下搜索: site:(pastebin.com | jsfiddle.net | codepen.io | github.com) ("api_key" | "secret_key" | "password" | "config") "techstart"
这可能会发现:
包含数据库连接字符串的配置文件 带有API密钥的代码片段 包含内部系统URL的错误日志
发现这些信息后,我们应该立即通知相关公司,以便他们采取措施保护这些敏感数据。
3. 发现有漏洞的PHP页面 - 利用URL参数
PHP是一种流行的服务器端脚本语言,但不当使用可能导致严重的安全漏洞,如SQL注入或文件包含漏洞。我们可以使用Google搜索来识别可能存在风险的PHP页面。
基本搜索: site:example.com ext:php
这会返回example.com上所有的PHP页面,但结果可能太多且不够精确。
高级搜索: site:example.com ext:php inurl:("id=" | "page=" | "file=")
这个搜索的含义是:
在example.com域名下搜索 只查找PHP文件 URL中包含"id="、"page="或"file="参数的页面
为什么这些参数很重要? 这些参数通常用于动态生成页面内容,如果处理不当,可能导致SQL注入或文件包含漏洞。
实际应用: 假设我们正在评估一个电子商务网站"shopnow.com"的安全性: site:shopnow.com ext:php inurl:("product_id=" | "category=" | "page=")
这个搜索可能会发现:
product.php?product_id=123 (可能存在SQL注入风险) category.php?category=electronics (可能存在目录遍历漏洞) page.php?page=about (可能存在文件包含漏洞)
对于发现的每个页面,我们都应该进行进一步的安全测试,检查是否存在实际的漏洞。
4. 寻找文件上传点 - 发现潜在的文件上传漏洞
文件上传功能是很多网站的必备功能,但如果实现不当,可能成为攻击者的入口点。我们可以使用Google搜索来定位可能存在风险的文件上传页面。
基本搜索: site:example.com "upload"
这可能会返回很多无关的结果。
高级搜索: site:example.com intext:("choose file" | "browse" | "upload") ext:(php | asp | aspx)
这个搜索的含义是:
在example.com域名下搜索 页面内容包含"choose file"、"browse"或"upload"等与文件上传相关的文字 文件扩展名为php、asp或aspx(常见的服务器端脚本)
为什么这很重要? 文件上传点如果没有proper的安全措施(如文件类型限制、大小限制、内容检查等),可能被用来上传恶意脚本,从而导致远程代码执行。
实际应用: 假设我们正在评估一个社交媒体平台"socialconnect.com": site:socialconnect.com intext:("choose file" | "browse" | "upload") ext:(php | asp | aspx) -inurl:(profile | avatar)
这个搜索可能会发现:
/admin/upload.php (管理员文件上传页面) /forum/attachment.asp (论坛附件上传) /gallery/upload.aspx (图片上传页面)
我们排除了profile和avatar相关的URL,因为这些通常是用户头像上传,风险相对较低。对于发现的每个上传点,我们都应该测试各种文件类型和内容,看是否存在绕过安全限制的可能。
5. 跟踪已知漏洞 - 利用漏洞报告平台
安全研究人员经常在漏洞报告平台上披露他们发现的漏洞。有时,这些漏洞可能还没有被修复。我们可以利用Google搜索来查找特定网站的已知漏洞。
基本搜索: site:openbugbounty.org "example.com"
这会返回在OpenBugBounty平台上报告的与example.com相关的所有漏洞。
高级搜索: site:(openbugbounty.org | hackerone.com) intext:("XSS" | "SQL injection" | "CSRF") inurl:"example.com" -intext:"fixed"
这个搜索的含义是:
在OpenBugBounty和HackerOne两个平台上搜索 查找包含"XSS"、"SQL injection"或"CSRF"等常见漏洞类型的报告 URL中包含"example.com" 排除描述中包含"fixed"的报告
为什么这很重要? 这可以帮助我们快速了解一个网站的安全历史,以及可能仍然存在的漏洞。
实际应用: 假设我们正在评估一个在线支付平台"paynow.com": site:(openbugbounty.org | hackerone.com | bugcrowd.com) intext:("XSS" | "SQL injection" | "CSRF" | "IDOR") inurl:"paynow.com" -intext:("fixed" | "resolved" | "duplicate")
这个搜索可能会发现:
6个月前报告的XSS漏洞,状态仍为"open" 一个未解决的CSRF漏洞,影响支付流程 多个IDOR(不安全的直接对象引用)漏洞报告
对于发现的每个漏洞报告,我们都应该尝试验证漏洞是否仍然存在,如果存在,应立即通知相关公司。
结语:
这五个Google搜索技巧可以大大提高我们在安全测试中的效率。但请记住,这些技巧应该只用于合法的安全研究和授权的渗透测试。未经许可对他人的系统进行测试是违法的,可能会带来严重的法律后果。
作为安全研究人员或网站管理员,我们应该定期使用这些技巧来检查自己负责的系统,及时发现和修复潜在的安全问题。同时,我们也要注意保护自己的敏感信息,确保不会通过这些方式被他人发现。
我是v浪,未关注我的朋友先点个关注,再点个“再看”,我们下期再见!