关于 recon-fingerprint
recon-fingerprint 是用于识别 Web 技术、WAF、CDN 和服务器信息的安全测试技能。它通过 whatweb、nuclei、httpx 和 curl 等工具指导授权评估,并支持将指纹结果存入数据库。
主要功能
- 01识别 Web 技术
- 02检测 WAF 和 CDN
- 03分析 HTTP 标头
- 04检查服务器与 TLS
- 05持久化保存指纹结果
适用场景
- 01盘点网站技术栈
- 02检查 WAF 和 CDN 防护
- 03审查服务器标头与 TLS
- 04保存发现以供后续关联
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ crazymarky/ pentest-skills --skill recon-fingerprint安装后在 Claude Code 中输入/recon-fingerprint确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/cms-fingerprints.txttech-headers.txtwaf-signatures.txtreferences/fingerprinting_techniques.mdhttpx_guide.mdwafw00f_guide.mdwhatweb_guide.mdscripts/extract_headers.pyfingerprint_storage.pytech_matcher.pywaf_detector.py详细介绍
Web 指纹识别与 WAF 检测
授权警告
**重要:**Web 指纹识别会向目标服务器发送请求。请务必确保:
- 已获得目标应用所有者的书面许可
- 已明确授权测试的范围
- 符合当地法规要求
前置条件
必须在系统上安装以下工具:
- httpx -
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest - nuclei -
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
可选工具:
- wafw00f -
pip install wafw00f - whatweb - 通过包管理器安装
- fingerprintx -
go install github.com/praetorian-inc/fingerprintx/cmd/fingerprintx@latest
快速入门
Web 指纹识别中最常用的命令:
基本技术检测
whatweb https://target.com
WAF 检测
wafw00f https://target.com
HTTP 标头分析
curl -I https://target.com
全面指纹识别(Nuclei)
nuclei -u https://target.com -tags tech
常见场景
场景 1:快速技术指纹识别
需要快速识别技术栈时:
whatweb https://target.com --aggression 1
参数:
--aggression 1- 快速扫描(1-4,默认值为 1)-a 3- 更激进(发送更多请求)-v- 输出详细信息
示例:
whatweb https://target.com -a 3
场景 2:WAF 检测
需要检测 WAF/CDN 防护时:
wafw00f https://target.com
输出内容包括:
- WAF 厂商(Cloudflare、AWS WAF、Imperva 等)
- 使用的 CDN
- 检测到的防火墙规则
检查多个目标:
wafw00f -i targets.txt
场景 3:服务器标头分析
需要分析 HTTP 标头时:
curl -I https://target.com
详细标头:
curl -v https://target.com 2>&1 | grep -i "< "
需要检查的常见标头:
Server: nginx/1.18.0
X-Powered-By: PHP/7.4
X-AspNet-Version: 4.0.30319
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
场景 4:使用 Nuclei 检测技术
需要全面进行技术指纹识别时:
nuclei -u https://target.com -tags tech -severity info
特定技术:
nuclei -u https://target.com -tags "wordpress,joomla,drupal"
nuclei -u https://target.com -tags "spring-boot,struts2"
nuclei -u https://target.com -tags "react,vue,angular"
场景 5:HTTPx 指纹识别
需要快速探测 HTTP 并检测技术时:
httpx -u https://target.com -tech-detect -status-code -title
参数:
-tech-detect- 启用技术检测-status-code- 显示 HTTP 状态码-title- 提取页面标题-server- 显示服务器标头-websocket- 检测 WebSocket-cdn- 检测 CDN
示例:
httpx -u https://target.com -tech-detect -server -cdn -ssl
场景 6:CMS 检测
需要识别 CMS 时:
whatweb https://target.com --aggression 3 | grep -i cms
使用 Nuclei 检测 CMS:
nuclei -u https://target.com -tags cms
常见 CMS 指示特征:
- WordPress:
/wp-login.php、/wp-admin/、wp-json - Drupal:
/user/login、Drupal.settings - Joomla:
/administrator/components、Joomla! - TYPO3:
/typo3conf
场景 7:JavaScript 框架检测
需要识别前端框架时:
curl -s https://target.com | grep -i "react\|vue\|angular\|jquery"
检查特定框架文件:
# React
curl -s https://target.com | grep -i "react"
# Vue.js
curl -s https://target.com | grep -i "vue\.js\|vue-"
# Angular
curl -s https://target.com | grep -i "angular\|ng-app"
# jQuery
curl -s https://target.com | grep -i "jquery"
场景 8:服务器版本检测
需要识别服务器软件及其版本时:
nmap -sV -p 443,80 target.com
HTTP 服务器标识:
curl -I https://target.com | grep -i server
使用 httpx 检测服务器:
httpx -u https://target.com -server -response-time
场景 9:CDN 检测
需要识别 CDN 提供商时:
httpx -u https://target.com -cdn
检查 HTTP 标头中的 CDN 信息:
curl -I https://target.com | grep -i "cf-ray\|x-amz\|x-akamai\|x-fastly"
常见 CDN 标头:
- Cloudflare:
cf-ray、cf-cache-status - AWS CloudFront:
x-amz-cf-id - Akamai:
x-akamai-transformed - Fastly:
x-served-by、fastly-ssl - CloudFront:
via、x-amz-cf-pop
场景 10:SSL/TLS 指纹识别
需要分析 SSL 配置时:
nmap --script ssl-cert,ssl-enum-ciphers -p 443 target.com
使用 curl 查看 SSL 信息:
curl -vI https://target.com 2>&1 | grep -i ssl
使用 testssl.sh:
testssl.sh https://target.com
工具选择指南
| 场景 | 推荐工具 | 命令 |
|---|---|---|
| 快速检测技术 | whatweb | whatweb https://target.com |
| WAF 检测 | wafw00f | wafw00f https://target.com |
| 标头分析 | curl | curl -I https://target.com |
| 全面检测 | nuclei | nuclei -u https://target.com -tags tech |
| 快速探测 | httpx | httpx -u https://target.com -tech-detect |
| CMS 检测 | nuclei | nuclei -u https://target.com -tags cms |
| CDN 检测 | httpx | httpx -u https://target.com -cdn |
工具对比:
| 工具 | 速度 | 覆盖范围 | 最适用于 |
|---|---|---|---|
| whatweb | 快 | 良好 | 快速检测技术栈 |
| wafw00f | 快 | 仅 WAF | WAF 检测 |
| nuclei | 中等 | 优秀 | 全面检测 |
| httpx | 非常快 | 基础 | 快速探测 |
| nmap | 慢 | 深入 | SSL/服务端详情 |
技术指纹
Web 服务器
| 服务器 | 标头模式 | 常见版本 |
|---|---|---|
| nginx | Server: nginx | 1.18.x、1.20.x、1.22.x |
| Apache | Server: Apache | 2.4.x、2.2.x |
| IIS | Server: Microsoft-IIS | 7.5、8.0、8.5、10.0 |
| Cloudflare 服务器 | Server: cloudflare | - |
后端框架
| 框架 | 特征 |
|---|---|
| PHP | X-Powered-By: PHP、.php URL |
| Python | Server: WSGIServer、Python 标头 |
| Ruby | X-Powered-By: Phusion Passenger |
| Node.js | X-Powered-By: Express |
| Java | X-Powered-By: JSP、.jspx、.do |
| .NET | X-AspNet-Version、.aspx |
| Go | Server: Go-http-server |
前端框架
| 框架 | 文件/模式 |
|---|---|
| React | react.js、react-dom、_react、__REACT__ |
| Vue.js | vue.js、vue-router、v-if、v-for |
| Angular | ng-app、angular.js、zone.js |
| jQuery | jquery.js、$(、.ajax() |
WAF 特征
| WAF | 检测方法 |
|---|---|
| Cloudflare | cf-ray、cf-cache-status 标头 |
| AWS WAF | x-amz-cf-id 标头 |
| Imperva | X-Iinfo、X-CDN 标头 |
| Akamai | akamai-origin 标头 |
| F5 ASM | BIGipServer Cookie |
| ModSecurity | Mod_Security 标头 |
| Barracuda | barra_counter_session Cookie |
提示与最佳实践
- 先进行被动检测 - 首先使用标头和页面内容
- 检查多个来源 - 结合工具输出以提高准确性
- 验证版本 - 技术检测并非总是精确
- 留意规避手段 - 有些网站会隐藏其技术栈
- 先检查 WAF - 主动扫描前务必检查是否存在 WAF
- 考虑 CDN 的影响 - CDN 可能会隐藏实际服务器信息
- 保存结果 - 记录指纹以便进行关联分析
资源
脚本
scripts/extract_headers.py- 提取并分析 HTTP 标头scripts/tech_matcher.py- 根据响应匹配技术scripts/waf_detector.py- 根据标头/Cookie 检测 WAF
参考资料
references/whatweb_guide.md- WhatWeb 参考指南references/wafw00f_guide.md- WAF 检测指南references/httpx_guide.md- HTTPx 参考资料references/fingerprinting_techniques.md- 高级指纹识别方法
场景:指纹识别结果的持久化存储
当你需要将 Web 指纹识别结果持久化到数据库时:
# Manual entry after fingerprinting
python .claude/skills/recon-fingerprint/scripts/fingerprint_storage.py \
--host-ip 192.168.1.100 \
--url "https://example.com" \
--technology "Apache 2.4.41" \
--category "web-server" \
--version "2.4.41" \
--subsystem "Web Application"
参数:
--host-ip- 目标主机 IP(必填)--url- 目标 URL(必填)--technology- 发现的技术(必填)--category- 技术类别:web-server、cms、framework 等(可选)--version- 技术版本(可选)--confidence- 置信度(可选)--subsystem- 子系统名称(可选)
数据库位置: ./data/results.db
相关技能: results-storage - 查询数据、生成报告
Assets
assets/waf-signatures.txt- Known WAF signaturesassets/tech-headers.txt- Technology header patternsassets/cms-fingerprints.txt- CMS detection patterns
评论
支持 Markdown