一、介绍
WhatWeb 是一款用于识别网站技术栈和特征的开源Web扫描工具。它可以自动分析网站的响应并识别出使用的Web框架、CMS、服务器、JavaScript库等技术组件。WhatWeb的目标是通过分析网站的内容,提供有关目标的技术信息,这对于安全测试、漏洞评估和信息搜集等任务非常有用。
以下是WhatWeb的一些特点和功能:
-
自动识别技术栈: WhatWeb能够自动检测网站使用的各种技术,包括Web服务器、Web应用框架、CMS、JavaScript库等。
-
插件系统: WhatWeb具有可扩展的插件系统,允许用户自定义检测规则和添加新的检测模块。
-
多种输出格式: WhatWeb支持多种输出格式,包括文本、JSON和XML等,使其易于集成到其他工具和流程中。
-
灵活性: 用户可以通过命令行参数或配置文件来控制WhatWeb的行为,例如设置扫描深度、使用代理、指定用户代理等。
-
分析页面内容: 除了识别技术栈,WhatWeb还能分析页面内容,识别关键字、文件路径、目录结构等信息。
二、安装 WhatWeb
Kail Linux 默认安装了 WhatWeb,所以只需安装 Kail Linux 即可使用。没有的可以参考下篇文章来安装 Kail Linux
如何在 VM 虚拟机中安装 Kail Linux 2023.4 操作系统保姆级教程(附链接)https://eclecticism.blog.csdn.net/article/details/135864762
三、使用 WhatWeb
3.1 普通扫描
whatweb 域名/文件(文件中存放多个域名)
可以看到输出有些混乱,可以加 -v 参数来解决
3.2 详细扫描
whatweb -v 域名
这么看是不是就清楚多了
3.3 扫描强度
WhatWeb 有 4 种扫描级别,通过数字 1~4 选择,默认为1:
- stealthy 每个目标发送一次http请求,并且会跟随重定向
- unused 不可用(从2011年开始,此参数就是在开发状态)
- aggressive 每个目标发送少量的http请求,这些请求时根据参数为1时结果确定的
- heavy 每个目标会发送大量的http请求,会去尝试每一个插件
whatweb -v -a 等级 域名
3.4 内网扫描
whatweb --no-errors -t 255 IP/子网掩码
3.5 导出结果
--log-brief=FILE 简单的记录,每个网站只记录一条返回信息
--log-verbose=FILE 详细输出
--log-xml=FILE 返回xml格式的日志
--log-json=FILE 以json格式记录日志
--log-json-verbose=FILE 记录详细的json日志
--log-magictree=FILE xml的树形结构
--log-object=FILE ruby对象格式
--log-mongo-database mongo数据库格式
whatweb -v 域名 --log-xml=文件名
3.6 查看插件列表
whatweb -l
3.7 查看指定插件信息
whatweb --info-plugins="插件名"
3.8 编写插件
需要学会 Ruby 语言,具体编写可参考 Github 上的教程
GitHubhttps://github.com/urbanadventurer/WhatWeb