网站指纹识别工具:WhatWeb 解析及指纹编写

admin 2025年1月22日09:37:13评论16 views字数 3326阅读11分5秒阅读模式

一、WhatWeb 概述

WhatWeb 是 Kali 操作系统中一款基于 Ruby 语言开发的网站指纹识别工具。它功能强大,能够精准识别众多 Web 技术,涵盖内容管理系统(CMS)、博客平台、统计与分析工具包、JavaScript 库、Web 服务器以及嵌入式设备等多个方面。

二、WhatWeb 扫描模式

WhatWeb 提供了多种扫描方式,包括隐秘、快速、彻底或缓慢扫描,并且支持通过攻击级别参数来平衡扫描速度与结果可靠性。

  • 被动模式(默认):此模式速度最快,仅需对网站发起一次 HTTP 请求,适用于扫描公共网站。当我们在浏览器中访问网站时,交易过程会包含许多关于网站所使用 Web 技术的线索,有时单个网页访问所包含的信息就足以识别网站,若信息不足,WhatWeb 会进一步向网站发起询问。
  • 其他攻击级别:WhatWeb 通过 -aggression(简写为 -a)参数来设置不同的攻击级别,参数后可跟数字 1 - 4,对应 4 种不同强度:
    • 级别 1(stealthy):每个目标发送一次 http 请求,并会跟随重定向。
    • 级别 2(unused):此级别从 2011 年起处于开发状态,目前不可用。
    • 级别 3(aggressive):每个目标发送少量的 http 请求,这些请求基于级别 1 的结果确定。
    • 级别 4(heavy):每个目标会发送大量的 http 请求,尝试运行每一个插件以获取更全面准确的识别结果。默认强度为 1,该参数可与其他参数联用。
网站指纹识别工具:WhatWeb 解析及指纹编写

三、WhatWeb 用法

(一)基本命令

  • 单个扫描:使用 whatweb 域名 即可对指定的单个网站进行扫描,例如 whatweb 360.com
  • 批量扫描:通过 -i 参数指定要扫描的文件,文件中每行包含一个待扫描的域名,如 whatweb -i target.txt
网站指纹识别工具:WhatWeb 解析及指纹编写
  • 详细输出:添加 -v 参数可详细显示扫描结果,如 whatweb 360.com -v
网站指纹识别工具:WhatWeb 解析及指纹编写
网站指纹识别工具:WhatWeb 解析及指纹编写

(二)输出内容

WhatWeb 的输出结果会涉及多种网站相关信息,以下为部分常见类型示例:

ID
英文名
中文名
示例
1
CMS
内容管理系统
Wordpress
2
Message Boards
留言板
phpBB
3
Database Managers
数据库管理
phpMyAdmin
4
Documentation Tools
文档工具
GitBook
5
Widgets
窗口小部件
Facebook
6
Ecommerce
电子商务
Wikinggruppen
7
Photo Galleries
图片库
phpAlbum
8
Wikis
知识库
HDWiki
9
Hosting Panels
主机控制板
cPanel
10
Analytics
分析统计
Webtrends
...
...
...
...
64
Reverse Proxy
反向代理
Nginx
65
Load Balancer
负载均衡
F5

四、WhatWeb 插件编写

(一)官方模板解析

WhatWeb 的强大功能得益于其丰富的插件,以下是官方插件模板及语法解释:

Plugin.define "Plugin-Template"do
    author "Enter Your Name"
    version "0.1"
    description "Describe what the plugin identifies. Include the homepage of the software package"
    examples %w| include-some.net example-websites.com here.com |

# a comment block here is a good place to make notes for yourself and others 

# There are four types of matches: regexp, text, ghdb 
# Matches are enclosed in {} brackets and separated by commas 
    matches [
    {:name=>"a brief description of the match, eg. powered by in footer",
:certainty=>100# 100 is certain, 75 is probably and 25 is maybe. if omitted, it defaults to 100. 
:regexp=>/This page was generated by http://www.genericcms.com/en/products/generic-cms/">Generic CMS</a>/ },

    {:name=>"
title",
    :certainty=>75,
    :text=>"
<title>Generic Homepage</title>" }
    ]
end
  • 插件定义:第一行 Plugin.define "Plugin - Template" 定义了插件的名字,此名字可在命令行中使用,例如 ./whatweb -p drupal www.example.com 中 -p 后接的就是插件名。
  • 作者、版本与描述:第二行 author "Enter Your Name" 声明作者,第三行 version "0.1" 表示版本,第四行 description "Describe what the plugin identifies. Include the homepage of the software package" 对插件功能及所识别软件的主页进行描述。
  • 示例网站:第五行 examples %w| include - some.net example - websites.com here.com | 列举插件所适用的网站示例。
  • 匹配规则(matches):这是插件的核心部分,定义了识别网站的匹配规则。matches 是一个列表,其中每个元素都是一个哈希表,包含以下常见键值对:
    • :name:对匹配内容的简要描述,如 {:name=>"meta generator tag"},此名称应指向网站中唯一存在的文件。
    • :certainty:匹配的确定性程度,100 表示确定,75 表示很可能,25 表示可能,若省略则默认为 100。
    • :regexp:标准的 Ruby 正则表达式,用于匹配特定模式。
    • :text:直接匹配的字符内容。
    • :ghdb:基于 Google Hack 数据库的匹配,包含 inurl(匹配 URL 中的字符串)、intitle(匹配标题中的字符串)、filetype(匹配文件名,如 PDF、JPG、RB 等)等模式。
    • :md5:请求页面的 MD5 哈希值。
    • :tagpattern:HTML 标签匹配。
    • :version:可设置正则表达式或直接字符串匹配版本信息。
    • :string:可设置正则表达式或直接字符串匹配特定字符串。
    • :filepath:可设置正则表达式或直接字符串匹配,常用于显示系统错误或配置文件等路径。
    • :account:常用于登陆页面或用户列表等场景的匹配。
    • :module:可设置正则表达式或直接字符串匹配,如网络设备使用的 Ruby 模块等。
    • :model:可设置正则表达式或直接字符串匹配。
    • :firmware:可设置正则表达式或直接字符串匹配设备的固件版本。

(二)插件示例

以下是一个识别 DedeCMS 的插件示例:

Plugin.define "DedeCMS"do
    author "xxxxx"
    version "0.1"
    description "dedecms - homepage:http://www.dedecms.com/"

# Examples # 
    examples %w|
    www.dedecms.com|


    matches [
# Version detection # Powered by text 
        {:name=>"Powered by DedeCms",
:regexp=>/Powered by.*DedeCMS.*/}
    ]
end

此插件通过定义 DedeCMS 插件名,声明作者、版本及描述,并列举适用示例网站。在 matches 中,通过正则表达式 :regexp=>/Powered by.*DedeCMS.*/ 来匹配页面中包含 “Powered by DedeCMS” 相关内容,以此识别网站是否使用 DedeCMS 系统。

原文始发于微信公众号(慕云MY):网站指纹识别工具:WhatWeb 解析及指纹编写

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月22日09:37:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网站指纹识别工具:WhatWeb 解析及指纹编写http://cn-sec.com/archives/3653077.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息