☰
【八个月网安课程】第九周·周四:指纹识别与 Google Hacking——whatweb、wappalyzer 与搜索引擎语法
2026/10/8 8:19:30 网站建设 项目流程

今天将学会如何在不见面、不扫描的情况下,通过识别目标网站的技术栈和利用搜索引擎获取敏感信息,将信息收集提升到更高维度。这些技巧是渗透测试标准流程中“信息收集”阶段的核心组成部分,能帮你绘制出目标的完整技术画像,发现隐藏的资产与漏洞线索。


第九周·周四:指纹识别与 Google Hacking——whatweb、wappalyzer 与搜索引擎语法

🎯 今日学习目标(达成效果)

  • 能独立使用whatweb 命令行工具对目标站点进行技术指纹识别,解读其输出的 Web 服务器、编程语言、CMS、JavaScript 库等信息;
  • 能通过浏览器扩展 Wappalyzer快速查看当前访问网站的技术栈,并理解其界面各项含义;
  • 能说出至少 8 条 Google Hacking 常用语法(如site:、intitle:、inurl:、filetype:等),并解释每条语法的用途;
  • 能构造Google Hacking 查询语句,搜索指定站点下的后台登录页、上传点、备份文件、敏感信息等;
  • 能从安全视角理解指纹识别是攻击者制定精确攻击方案的依据,也是防御者了解暴露面的手段;
  • 能在 DVWA 或任意测试站点上完成一次完整的指纹识别 + Google Hacking 结合分析,形成一份简要的信息收集报告。

📘 一、指纹识别:摸清目标的“底细”

1. 什么是 Web 指纹识别?

Web 指纹识别是指通过分析目标网站的响应头、HTML 源码、特定文件、错误页面、Cookie 名等特征,推断其使用的 Web 服务器、编程语言、CMS(内容管理系统)、JavaScript 框架、CDN 等信息。就像通过一个人的指纹识别其身份一样,每种技术栈都会留下独特的“指纹”。

攻击者视角:知道目标使用 WordPress 4.2 和 PHP 5.6,就可以迅速查找针对这些版本已知的漏洞,进行精准打击,避免浪费时间在无效测试上。

防御者视角:了解自身暴露的技术信息,有助于关闭不必要的版本泄露,降低被针对性攻击的风险。

2. 常见可识别的组件

  • Web 服务器:Apache, Nginx, IIS
  • 编程语言:PHP, ASP.NET, Python, Ruby
  • CMS:WordPress, Joomla, Drupal, 织梦
  • JavaScript 库:jQuery, React, Vue.js
  • 前端框架:Bootstrap, Element UI
  • CDN/WAF:Cloudflare, 阿里云 WAF
  • 分析工具:Google Analytics, 百度统计

📘 二、工具一:whatweb(命令行指纹识别)

whatweb 是 Kali Linux 内置的强大指纹识别工具,通过数百个插件匹配网站的“指纹签名”,识别技术栈。

1. 基本用法

whatweb 目标URL

例如:whatweb http://testphp.vulnweb.com

输出类似:

http://testphp.vulnweb.com [200 OK] Apache[2.4.41], Country[UNITED STATES], HTTPServer[nginx/1.17.9], IP[44.238.135.156], PHP[5.6.40], X-Powered-By[PHP/5.6.40]

解读:服务器使用 Nginx 反代 Apache,PHP 5.6.40,IP 地址等。

2. 高级参数

参数作用
-a侵略性级别(1-4),越高越深入(如发送更多请求,甚至尝试漏洞探测)
-v详细输出,显示匹配的插件名称
--log-json=FILE输出 JSON 格式报告
--no-errors不显示连接错误
--proxy通过代理扫描

示例:

whatweb-a3--no-errors http://靶机-v

3. 安全分析案例

  • 如果看到X-Powered-By: PHP/5.6.40,说明服务器可能暴露了 PHP 版本,且是较老版本,存在已知漏洞。
  • 发现Server: Microsoft-IIS/10.0,就要用 IIS 相关测试集。
  • 识别 CMS 为 WordPress 4.2,可直接尝试已知漏洞(如 WPScan 扫描)。

📘 三、工具二:Wappalyzer(浏览器扩展)

Wappalyzer 是一个浏览器扩展(Chrome/Firefox),点击图标即可弹出当前网站的技术栈面板,直观、无命令行门槛,适合快速浏览。

1. 安装与使用

  • 从 Chrome 应用商店或 Firefox Add-ons 搜索安装 Wappalyzer。
  • 访问任意网站,点击浏览器右上角的 Wappalyzer 图标。
  • 面板按类别(CMS, Web Server, JavaScript Libraries, Analytics 等)列出技术及版本。

体验:打开 DVWA 页面,Wappalyzer 可能显示 Nginx, PHP, jQuery 等。发现 PHP 版本后,可以和 whatweb 的结果交叉验证。

2. 应用场景

  • 日常浏览时可快速了解网站技术栈,积累经验。
  • 渗透测试初期快速概览,决定后续手动测试方向。

📘 四、Google Hacking:用搜索引擎挖掘敏感信息

Google Hacking 是指利用搜索引擎的高级搜索语法,查找特定网站或网页中的敏感信息。攻击者利用它发现后台地址、配置文件、备份文件、数据库暴露、甚至服务器状态页面。对于安全从业者,它是基础信息收集和漏洞评估的利器。

1. 核心语法(必须熟记)

语法功能示例
site:限制搜索范围为指定网站site:example.com
intitle:标题中包含关键词intitle:"index of"
inurl:URL 中包含关键词inurl:admin
filetype:指定文件类型filetype:sql
intext:页面正文中包含关键词intext:"password"
-排除某个词site:example.com -www
*通配符site:*.example.com
""精确匹配短语"phpMyAdmin"

2. 经典 Google Hacking 查询示例

  • 搜索子域名:site:*.example.com -www
  • 查找后台页面:site:example.com intitle:admin
  • 查找上传页面:site:example.com inurl:upload
  • 搜索敏感文件:site:example.com filetype:sql "password"或filetype:env "DB_PASSWORD"
  • 目录列表暴露:intitle:"index of" "parent directory"
  • 搜索包含特定漏洞的页面:site:example.com inurl:".php?="(可能为注入点)
  • 查找备份文件:site:example.com "index of" "backup"
  • 搜索暴露的 phpinfo:site:example.com intitle:"phpinfo()"

3. 实践约束与技巧

  • Google 会限制自动查询,大量搜索需使用程序接口(现已收费或限制),渗透测试中用手工构造即可。
  • 可以结合使用inurl:和intext:缩小范围。
  • 使用-排除干扰子域或结果。
  • 一些结果可能已经被删除,但搜索引擎缓存可能保留快照(查看“网页快照”)。

✍️ 五、动手实践:对目标进行指纹识别与 Google Hacking

实践 1:使用 whatweb 识别 DVWA 环境指纹

whatweb http://靶机/DVWA-v

记录下输出的:

  • Web Server
  • PHP 版本
  • 是否有 X-Powered-By 头
  • 使用的 JavaScript 库

实践 2:用 Wappalyzer 查看同一站点

打开浏览器,访问 DVWA,点击 Wappalyzer 图标。对比 whatweb 的结果是否一致,补充 whatweb 可能遗漏的项(如 Analytics 信息)。

实践 3:构造 Google Hacking 搜索语句(使用真实互联网或本地靶场)

假设你的靶机是公网可访问的测试站(或使用 VulnWeb、testphp.vulnweb.com 等公开测试站),在 Google 中尝试:

  • site:testphp.vulnweb.com
  • site:testphp.vulnweb.com inurl:admin
  • site:testphp.vulnweb.com filetype:sql
  • intitle:"index of" site:testphp.vulnweb.com

记录发现了哪些有意思的路径和文件。如果靶机是本地环境,Google 无法索引,你可以在理解语法的基础上,通过搜索自己公司的域名(如site:yourcompany.com)进行合法练习,或利用公开漏洞靶标网站。

实践 4:编写一份简单的信息收集报告

基于今天的练习,整理以下内容:

  • 目标站点技术栈表(Web服务器、语言、CMS、JS库、CDN)
  • 通过 Google Hacking 发现的外部暴露路径/文件
  • 可能存在的安全风险(如暴露 PHP 版本、phpinfo 泄露、后台路径暴露)

安全警示:不要使用这些技术对未授权的目标进行测试。所有实践必须在授权或公共测试靶场进行。


📝 六、课后测试题与解析

测试题 1:如何使用 whatweb 识别一个网站使用的 Web 服务器和编程语言?请写出命令并解释主要输出。

参考答案:
命令:whatweb http://example.com
主要输出会包含类似HTTPServer[Nginx]或Apache[2.4.7]表示 Web 服务器类型及版本;PHP[5.6.40]或ASP.NET[4.0.30319]等表示编程语言/框架。还可能包含X-Powered-By头直接泄露版本。这些信息帮助攻击者快速定位已知漏洞。

测试题 2:写出 Google Hacking 语法查找example.com域下所有包含 “password” 的.sql文件。

参考答案:

site:example.com filetype:sql "password"

解释:

  • site:example.com限定搜索范围为该域名;
  • filetype:sql指定文件类型为 .sql;
  • "password"精确匹配,查找包含该词的文件,可能是数据库导出的备份文件,包含密码哈希。

✅ 今日学习效果自检清单

  • 我能独立使用 whatweb 并解读其输出
  • 我安装了 Wappalyzer 并能快速识别网站技术栈
  • 我至少能写出 6 条 Google Hacking 语法及其用途
  • 我成功构造了针对测试站点的 Google 查询并找到有价值信息
  • 我理解指纹识别是精准攻击的前提,也是自我防御的镜子
  • 我完成了今天的信息收集小报告,将发现整理归档

⚠️ 阶段避坑重点

  • whatweb 的侵略性:-a 4会尝试发送一些可能引发告警的请求,对于生产目标慎用。
  • Wappalyzer 不是绝对准确:有些网站刻意隐藏技术栈或使用反向代理混淆,结果需交叉验证。
  • Google Hacking 的频率限制:短时间内大量搜索可能被要求输入验证码,甚至暂时封禁 IP。使用浏览器手工搜索,不推荐脚本化。
  • 不要迷信搜索引擎结果:有些页面已经被删除,但快照仍存;也可能有欺骗性页面。需结合直接访问确认。
  • 法律边界:Google Hacking 本身是合法搜索,但利用它发现的信息进行未授权访问即违法。务必仅用于授权测试或自身资产检查。

今天你将信息收集从技术层面拓展到公开情报领域,真正做到了“知己知彼”。明天我们将汇总信息收集的完整流程,并学习如何对收集到的信息进行关联分析,形成攻击面拓扑图,为后续漏洞利用铺平道路。请保留今天的报告,明天会用到。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询