[网安工具] Web 站点指纹识别工具 —— WhatWeb · 使用手册
🌟想了解其它网安工具?看看这个:[网安工具] 网络安全工具管理 —— 工具仓库 · 管理手册
GitHub - urbanadventurer/WhatWeb: Next generation web scannerNext generation web scanner. Contribute to urbanadventurer/WhatWeb development by creating an account on GitHub.https://github.com/urbanadventurer/WhatWeb
0x01:WhatWeb 工具简介
WhatWeb 是一款功能强大的开源网络扫描工具,旨在识别网站所使用的技术细节,包括内容管理系统、服务器类型、JavaScript 库、博客平台等。它拥有超过 1800 个插件,支持多种输出格式,可快速或全面地检测网站信息,适用于渗透测试和网站安全审计。
0x02:WhatWeb 使用教程
Kali Linux 中默认已经安装了 WhatWeb,我们无需再次安装,若您想更新,可以使用下面的命令
┌──(root㉿kali)-[~] └─# sudo apt install dirb
本部分笔者将先演示一些 Dirb 的使用示例,如果你对该工具已经有所了解,仅仅是为了查询参数用法,可以跳转到本文的第三部分,即 “速查手册” 部分。
0x0201:快速扫描指定站点,并获取相关信息
如果不携带任何参数,直接运行 whatweb + 目标地址,可以让 whatweb 快速输出扫描结果,就是有点丑,且信息也不全:
whatweb https://cn.wordpress.org/
0x0202:扫描目标站点,并获取详细的插件描述
通过 -v 参数,我们能让 whatweb 输出关于目标的更详细的信息,这个比较常用:
whatweb -v https://cn.wordpress.org/
笔者上面目前就两个例子,像比于 WhatWeb 那么多的参数确实显得单调了。不过笔者观点很简单,虽然工具功能那么多,但实战就用那么几个。且对于信息收集,你应该先明确自己要收集啥,然后再来看工具。收集了不会用,等于没收集,至于如何去利用,可以多打打靶场,多实战。
0x03:WhatWeb 速查手册
0x0301:WhatWeb 常见用法 — 速查表
### 快速扫描指定站点,并输出简易的扫描结果 whatweb https://cn.wordpress.org/ ### 扫描指定站点,并获取详细的插件描述 whatweb -v https://cn.wordpress.org/ ### 对指定站点发起攻击性扫描,检测目标详细版本信息 whatweb -v -a 3 https://cn.wordpress.org/
0x0302:WhatWeb 参数说明 — 中文版
名称: WhatWeb - 新一代网络扫描工具 该工具由 Andrew Horton(urbanadventurer)和 Brendan Coles(bcoles) 开发 主页: https://www.morningstarsecurity.com/research/whatweb 用法: whatweb [options] 目标选择: 输入 URLs、主机名、IP 地址、文件名或 IP 范围,格式为 CIDR、x.x.x-x 或 x.x.x.x-x.x.x.x --input-file=FILE, -i 从文件中读取目标,可以通过 -i /dev/stdin 直接管道传输主机名或 URLs 目标修改: --url-prefix 为目标 URL 添加前缀 --url-suffix 为目标 URL 添加后缀 --url-pattern 将目标插入到 URL 中,例如: example.com/%insert%/robots.txt 攻击性级别: 该分类下的参数用于控制速度/隐蔽性和可靠性之间的平衡。 --aggression, -a=LEVEL 设置攻击性级别。默认值为 1。 1. 隐蔽模式: 每个目标发送一个 HTTP 请求,并且跟随重定向。 2. 攻击模式: 如果匹配到 1 级插件,则会发出额外的请求。 3. 强力模式: 每个目标发送大量 HTTP 请求。尝试所有插件中的 URL。 HTTP 选项: --user-agent, -U=AGENT 自定义 HTTP User-Agent 标签,而不再是 "WhatWeb/0.5.5" --header, -H 添加 HTTP 头。例如: "Foo:Bar"。指定默认头将会替换它。指定空值,例如 "User-Agent:" 将移除该请求头 --follow-redirect=WHEN 控制何时跟随重定向。WHEN 可以是 'never', 'http-only', 'meta-only', 'same-site' 或 'always'。默认是值 always。 --max-redirects=NUM 最大重定向次数。默认值: 10。 认证: --user, -u= HTTP 基本认证 --cookie,-c=COOKIES 使用 cookie,例如: "name=value;name2=value2" --cookie-jar=FILE 从文件中读取 cookie 代理: --proxy 设置代理主机名和端口。默认值是 8080。 --proxy-user 设置代理用户名和密码。 插件: --list-plugins, -l 列出所有插件。 --info-plugins, -l=[SEARCH] 列出所有插件的详细信息,可以在逗号分隔的列表中使用关键字进行搜索。 --search-plugins=STRING 搜索功能,用于搜索插件中的关键字 --plugins, -p=LIST 选择插件。LIST 是逗号分隔的插件列表。默认为全部。每个元素可以是目录、文件或插件名称,还可以通过 + / - 符号,选择添加或移除插件。 例如: +/tmp/moo.rb,+/tmp/foo.rb title,md5,+./plugins-disabled/ ./plugins-disabled,-md5 --grep, -g=STRING|REGEXP 搜索参考 STRGIN 或正则表达式。仅显示匹配的结果。 例如: --grep "hello" --grep "/he[l]*o/" --custom-plugin=DEFINITION 定义一个名为 Custom-Plugin 的自定义插件 例如: ":text=>'powered by abc'" ":version=>/powered[ ]?by ab[0-9]/" ":ghdb=>'intitle:abc \"powered by abc\"'" ":md5=>'8666257030b94d3bdb46e05945f60b42'" "{:text=>'powered by abc'}" --dorks=PLUGIN 列出所选插件的 Google Dorks。 输出: --verbose, -v 详细输出包括插件描述。两次使用该参数可以进入调试模式。 --colour, --color=WHEN 控制是否使用颜色。WHEN 可以是 'never', 'always' 或 'auto'。 --quiet, -q 不在 STDOUT 上显示简要日志。 --no-errors 抑制错误消息。 日志记录 --log-brief=FILE 记录简要的一行输出 --log-verbose=FILE 记录详细输出 --log-errors=FILE 记录错误 --log-xml=FILE 使用 XML 格式记录日志 --log-json=FILE 使用 JSON 格式记录日志 --log-sql=FILE 记录 SQL 插入语句 --log-sql-create=FILE 创建 SQL 数据库表 --log-json-verbose=FILE 记录详细的 JSON 格式 --log-magictree=FILE 记录 MagicTree XML 格式 --log-object=FILE 记录 Ruby 对象检查格式 --log-mongo-database MongoDB 数据库名称 --log-mongo-collection MongoDB 集合名称。默认值: whatweb --log-mongo-host MongoDB 主机名或 IP 地址。默认值: 0.0.0.0 --log-mongo-username MongoDB 用户名。默认值: nil --log-mongo-password MongoDB 密码,默认值: nil --log-elastic-index 存储结果的索引名称。默认值: whatweb --log-elastic-host Elasticsearch HTTP 接口的主机端口。默认值: 127.0.0.1:9200 性能与稳定性: --max-threads, -t 同时运行的现成数。默认值: 25 --open-timeout 超时时间(秒)。默认值: 15 --read-timeout 读取超时时间(秒)。默认值: 30 --wait=SECONDS 在连接期间等待 SECONDS 秒(这在使用单线程时非常有用) 帮助及其它: --short-help 简短的帮助信息 --help, -h 完整的帮助信息 --debug 在插件中引发错误 --version 显示版本信息 示例用法: * 扫描 example.com ./whatweb example.com * 扫描 reddit.com 和 slahdot.org,并显示详细的插件描述 ./whatweb -v reddit.com slahdot.org * 对 wired.com 进行攻击性扫描,检测 WordPress 的准确版本 ./whatweb -a 3 www.wired.com * 快速扫描本地网络并抑制错误 whatweb --no-errors 192.168.0.0/24 * 扫描本地网络中的 https 网站 whatweb --no-errors --url-prefix https://192.168.0.0/24 * 扫描 Alexa 排名前 1000 的网站中的跨域策略 ./whatweb -i plugin-development/alexa-top-100.txt --url-suffix /crossdomain.xml -p crossdomain_xml
0x04:WhatWeb 参考资料
Web 扫描神器:WhatWeb 保姆级教程(附链接)-CSDN博客文章浏览阅读7.5k次,点赞50次,收藏28次。分析网站架构(一):WhatWeb 工具https://blog.csdn.net/2302_82189125/article/details/135976188
[工具使用]WhatWeb-CSDN博客文章浏览阅读1.4w次,点赞9次,收藏43次。网站指纹识别工具WhatWebWhatWeb简介用法因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。————玛丽亚·杜埃尼亚斯WhatWeb简介web指纹扫描主要用于对应用名称(版本)、服务器软件(版本)、编程语言(版本)、应用框架(版本)四大特征的识别,以实现对目标应用的准确标识。现有产品比如知道创宇的:ZoomEye网站指纹信息包括:应用名、版本、前端框架、后端框架、服务端语言、服务器操作系https://blog.csdn.net/m0_46363249/article/details/120013263
whatweb | Kali Linux ToolsWhatWeb Usage Exampleroot@kali:~# whatweb -v -a 3 192.168.0.102WhatWeb report for http://192.168.0.102Status : 200 OKTitle : Toolz TestBedIP : 192.168.0.102Country : RESERVED, ZZSummary : JQuery, Script, X-UA-Compatible[IE=edge], HTML5, Apache[2.2,2.2.22], HTTPServer[Ubuntu Linux][Apache/2.2.22 (Ubuntu)]Detected Plugins:[ Apache ] The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards. Version : 2.2.22 (from HTTP Server Header) Version : 2.2 Version : 2.2 Google Dorks: (3) Website : http://httpd.apache.org/[ HTML5 ] HTML version 5, detected by the doctype declaration[ HTTPServer ] HTTP server header string. This plugin also attempts to identify the operating system from the server header. OS : Ubuntu Linux String : Apache/2.2.22 (Ubuntu) (from server string)[ JQuery ] A fast, concise, JavaScript that simplifies how to traverse HTML documents, handle events, perform animations, and add AJAX. Website : http://jquery.com/[ Script ] This plugin detects instances of script HTML elements and returns the script language/type.[ X-UA-Compatible ] This plugin retrieves the X-UA-Compatible value from the HTTP header and meta http-equiv tag. - More Info: http://msdn.microsoft.com/en-us/library/cc817574.aspx String : IE=edgeHTTP Headers: HTTP/1.1 200 OK Server: Apache/2.2.22 (Ubuntu) Last-Modified: Fri, 02 Feb 2018 15:27:56 GMT ETag: "11f-2e38-5643c5b56a8d3" Accept-Ranges: bytes Vary: Accept-Encoding Content-Encoding: gzip Content-Length: 3541 Connection: close Content-Type: text/htmlroot@kali:~#https://www.kali.org/tools/whatweb/