Files
Sec-Interview/Chapter1/1-9.md
T
2025-09-25 03:18:53 +08:00

14 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### Wappalyzer 怎么进行指纹识别的
Wappalyzer 的指纹识别过程可以概括为以下几个主要步骤:
1. **特征库匹配**Wappalyzer 维护一个巨大的、社区驱动的 JSON 特征库文件,其中包含了各种 Web 技术(如 CMS、Web 服务器、前端框架、编程语言、数据库等)的**独特指纹信息**
2. **获取信息**:当你访问一个网站时,Wappalyzer 会利用浏览器已经加载的数据,从中提取出以下几类信息:
- **HTTP 响应头(HTTP Headers**:检查 `Server``X-Powered-By``Set-Cookie` 等响应头字段。例如,`Server: Nginx` 就直接表明使用了 Nginx 服务器;`X-Powered-By: PHP/7.4.3` 则表明使用了特定版本的 PHP
- **HTML 页面内容**:在页面的 `<body>``<head>` 标签中搜索特定的字符串。例如,许多 CMS 会在页面中包含特定的元标签,如 `<meta name="generator" content="WordPress 6.0.1" />`,这直接暴露了所使用的技术及其版本
- **JavaScript 变量和库**:检查全局 JavaScript 变量或特定库文件的存在。例如,如果页面加载了 `jquery.js`,并且存在 `window.jQuery` 变量,Wappalyzer 就可以识别出使用了 jQuery 库
- **URL 路径和文件名**:分析 URL 的结构,特别是目录和文件名。例如,`/wp-content/` 目录是 WordPress 的典型特征;而 `/admin``/login` 路径可能指向特定的 CMS 或框架
- **Cookies**:检查 Cookie 名称或值。例如,`wordpress_logged_in_...``PHPSESSID` 都是典型的指纹信息
- **CSS 文件**:通过分析 CSS 文件的路径、内容或文件名来识别技术
3. **匹配与判断**Wappalyzer 将上述提取到的信息与本地的特征库进行比对。如果某个或某几个特征与库中的某个技术指纹相匹配,那么该技术就会被识别出来,并显示在 Wappalyzer 的图标或面板中
4. **结果展示**:最终,Wappalyzer 会将所有匹配成功的技术以图标和文字的形式展示给用户,通常还会附带该技术的名称、版本和类型(如 CMS、框架、库等)