"/>
·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
DZ插件网 门户 网站安全 查看内容

指纹识别工具Whatweb

2022-5-4 20:35| 发布者: admin| 查看: 601| 评论: 0|原作者: 余生安全团队

摘要: 申明:该文章仅供安全学习和技术分享,请勿将该文章和文章中提到的技术用于违法活动上,切勿在非授权状态下对其他站点进行测试...

申明:该文章仅供安全学习和技术分享,请勿将该文章和文章中提到的技术用于违法活动上,切勿在非授权状态下对其他站点进行测试,如产生任何后果皆由读者本人承担!

如有侵权,请联系后台进行删除。转载请注明出处,感谢

指纹识别工具 Whatweb

1. 工具简介

1.1 什么是 Whatweb

Whatweb 是一款优秀的基于 Ruby 开发的网络指纹识别软件,不但拥有丰富的命令参数可以自定义探测过程,还有上千个集成的插件供我们使用。

1.2 Whatweb 的特征

  • 拥有超过 1700+ 个插件
  • 若网站返回 302,会跳转到重定向的网站
  • 可以根据服务器返回的响应头确定网站使用的服务器类型, Web 中间件类型, cookie 信息
  • 可以从网站的源代码中确定网站使用了哪些 JavaScript 库
  • 可以通过页面 hash,path 等确定网站使用的 CMS 版本。
  • 查询网站 IP 及所属国家
  • 多种日志格式:XML,JSON,MagicTree, RubyObject, MongoDB
  • 可定制化 HTTP 头
  • 可进行基础的认证设置
  • 支持批量扫描网站

2. 工具安装

由于 Whatweb 是基于 Ruby 语言开发,因此需要安装在具备 Ruby 环境的系统中,目前支持 Windows/mac OS/Linux。

Kali Linux 默认是有 whatweb 软件的.

如果要在 Debian/Ubuntu 等系统下安装可以直接使用 apt-get install whatweb 进行安装,也不需要考虑依赖的问题。

而在 Redhat/Centos 系统下需要安装依赖,再安装软件:

yum update
yum install ruby ruby-devel rubygems
wget http://www.morningstarsecurity.com/downloads/whatweb-0.5.1.tar.gz
tar xzvf whatweb-0.5.1.tar.gz
cd whatweb-0.5.1
./whatweb url

3. 基础使用

命令语法:Usage: whatweb [options]

whatweb 表示使用该软件,[options] 为要使用的参数, 为我们要探测的目标。

3.1 命令手册

使用 --help 命令来查看 whatweb 的命令手册

whatweb --help

3.2 查看版本

使用 --version 命令来查看 whatweb 的版本信息

whatweb --version

3.3 单个目标探测

whatweb 192.168.187.130

3.4 多个目标探测

whatweb 192.168.187.1/24

3.5 外部文件导入多目标探测

whatweb --input-file=/root/桌面/1.txt

输入 -i 目标 的命令也可以导入文件

whatweb -i '/root/桌面/123.txt'

**ps:**批量探测时,可以 # 注释掉不想探测的网站

3.6 特定格式导出探测结果

能批量的导入探测当然也可批量的将结果导出,whatweb 支持多种日志的保存格式,可以将探测的结果导入文件中保存,方便查看和搜索。

whatweb 192.168.187.130 --log-json=result.json

其他格式导出文件同理:

  • --log-brief = FILE Brief,one-line,greppable format
  • --log-verbose = FILE 详细输出
  • --log-xml = FILE XML格式。提供了 XSL 样式表
  • --log-json = FILE JSON格式
  • --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 Host:弹性 http 接口的端口。默认值:127.0.0.1:9200
  • --log-errors = FILE 记录错误。这通常以红色打印到屏幕上。

注:

  1. Json 格式需要安装 json 依赖 sudo gem install json
  2. Mongo 格式需要安装 mongo 依赖 sudo gem install mongo

4. 常见参数

4.1 -v 参数

通过 -v 参数可以将探测的的结果详细的罗列出来。

whatweb -v 192.168.187.130

4.2 --url 参数

whatweb 默认是探测 80 端口 的 web 应用,当然不排除使用其他端口的网站,那么时候我们可以通过加 --url-parameter 指定探测的端口

  • --url-prefix Add a prefix to target URLs.   //添加前缀
  • --url-suffix Add a suffix to target URLs.   //添加后缀
  • --url-pattern    Insert the targets into a URL.  //在中间插入内容
whatweb 192.168.187.1/24 –-url-suffix=":8080"

4.3 -a 参数

whatweb 定义了不同的级别的探测强度,目前有三个等级的探测级别,默认不带任何参数的额时候使用的是等级 1,等级数值越高表示探测的类型越复杂。可通过如下参数自定义探测的级别:

root@kali :~# whatweb -a 3 http://www.baidu.com/
  1. Stealthy 每个目标发送一次 http 请求,并且会跟随重定向
  2. Unused //不可用。(从 2011 年开始,此参数就是在开发状态。)
  3. Aggressive 每个目标发送少量的 http 请求,这些请求是根据参数为 1 时结果确定的
  4. Heavy 每个目标会发送大量的 http 请求,会去尝试每一个插件

4.4 -v 参数

如果网站需要输入账号密码,可以通过 --proxy-user 的方式指定用户名和密码进行探测。

whatweb -v --proxy-user admin:passwoed www.dvwa.com/login.php

4.5 -c 参数

如果有需要验证 cookie 的值时,可以使用 -c 参数指定 cookie 的值。

whatweb -v -c='PHPSESSID=031a6d42fac3bdce24bf4dc02accd080; security=low' http://www.dvwa.com/login.php

4.6 -l 参数

使用 -l 参数可以列出插件的列表,包括插件的名称以及插件的描述。

whatweb -l

4.7 -–info 参数

如果想查看具体某个插件的内容,可以使用 --info 参数来实现。

whatweb –-info-plugins="YouTube"

4.8 --max-threads 参数

如果觉得 whatweb 扫描的速度太慢,可以使用 --max-threads 指定 whatweb 的最大线程

whatweb 192.168.187.1/24 --max-threads=30

5. 全部参数

根据 whatweb -h 参数的结果进行的翻译,翻译可能不太准确,有问题的还望指出。

用法:whatweb [选项] <URLs>

目标选择:
  <目标>输入 URL,主机名,IP 地址,文件名或
  CIDR,x.x.x-x 或 x.x.x.x-x.x.x.x 中的 IP 范围格式。
  --input-file = FILE,-i 从文件读取目标。你可以直接使用 -i /dev/stdin 批量读取主机名或 URL。

目标修改:
  --url-prefix 为目标 URL 添加前缀。
  --url-suffix 为目标 URL 添加后缀。
  --url-pattern 在 URL 中插入目标。
例如 example.com/%insert%/robots.txt

侵略:
攻击级别控制速度/隐身与可靠性。
  --aggression,-a = LEVEL 设置攻击级别。默认值:1。
  1. Stealthy 给每个目标发出一个 HTTP 请求,并且跟随重定向。
  2. Aggressive 如果匹配到了 1 级的插件,则额外将会提出要求。
  3. Heavy 给每个目标发出大量 HTTP 请求并尝试每一个插件。

HTTP选项:
  --user-agent,-U = AGENT 指定 ua 标识为 AGENT,而不是默认的 WhatWeb/0.5.1。
  --header,-H 添加 HTTP 标头,例如「Foo:Bar」。指定一个默认标题将替换它。指定一个空值,例如「User-Agent:」将删除它。
  --follow-redirect = WHEN 控制进行重定向。可能是 'never''http-only''meta-only''same-site',或者 'always'。默认值:always。
  --max-redirects = NUM 最大重定向数。默认值:10。

认证:
  --user,-u = <user:password> HTTP 基本身份验证。
  --cookie,-c = COOKIES 使用 cookie,例如'名称=值; name2 = value2'
  --cookie-jar = FILE 从文件读取cookie。

代理:
  --proxy <hostname[:port]> 设置代理主机名和端口。默认值:8080
  --proxy-user <username:password> 设置代理用户和密码。

插件:
  --list-plugins,-l 列出所有插件。
  --info-plugins,-I = [SEARCH] 列出所有带有详细信息的插件。
(可选)使用逗号分隔列表中的关键字进行搜索。
  --search-plugins = STRING 搜索插件关键字。
  --plugins,-p = LIST 选择插件。LIST 是一组以逗号分隔的选定插件。默认为所有。每个元素可以是目录、文件或插件名称,也可以有一个修饰符,+/-。例如:+/tmp/moo.rb,+/tmp/foo.rb title,md5,+./plugins disabled/ /plugins disabled,-md5-p+ 是-p+plugins disabled 的快捷方式。
  --grep,-g = STRING | REGEXP 搜索字符串或正则表达式。只显示匹配示例:--grep“hello”--grep“/he[l]*o/”--custom plugin=定义一个名为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 控制是否使用颜色。什么时候 'never''always', or '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 INSERT 语句。
  --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 用户名。默认值:无。
  --log-mongo-password MongoDB 密码。默认值:无。
  --log-elastic-index 存储结果的索引名称。默认值:whatweb
  --log-elastic-host 弹性 http 接口的 Host:port。默认值: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 slashdot.org。
   ./whatweb -v reddit.com slashdot.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 Top 1000 中扫描跨域策略。
   ./whatweb -i plugin-development/alexa-top-100.txt \
  --url-suffix /crossdomain.xml -p crossdomain_xml

6 参考文章

  • 工具 | whatweb 初级篇:https://www.freebuf.com/column/151540.html
  • 工具 | whatweb 高级篇:https://www.freebuf.com/column/152611.html
  • 网站指纹识别 whatweb:https://zhuanlan.zhihu.com/p/28017554




上一篇:一道关于Log4j2的CTF题目
下一篇:DVWA搭建教程

鲜花

握手

雷人

路过

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.141.198.147,GMT+8, 2024-11-24 04:50 , Processed in 0.201855 second(s), 49 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯
扫一扫添加微信客服
QQ客服返回顶部
返回顶部