WhatWeb 网站指纹识别软件

news2024/11/30 12:49:58

一、WhatWeb介绍

WhatWeb是一个开源的网站指纹识别软件
WhatWeb识别网站。它的目标是回答“那个网站是什么?”这个问题。
WhatWeb可识别Web技术,包括内容管理系统(CMS),博客平台,统计/分析包,Javascript库,服务器和嵌入式设备。
WhatWeb有超过1000个插件,每个插件都能识别不同的东西。WhatWeb还可以识别版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等
WhatWeb可以隐秘、快速、彻底或缓慢扫描。WhatWeb支持攻击级别来控制速度和可靠性之间的权衡。当在浏览器中访问网站时,该交易包含许多关于Web技术为该网站提供支持的提示。有时,单个网页访问包含足够的信息来识别网站,但如果没有,WhatWeb可以进一步询问网站。默认的攻击级别称为“被动”,速度最快,只需要一个网站的HTTP请求。这适用于扫描公共网站。在渗透测试中开发了更积极的模式。
特性:
  • 拥有超过1700+个插件
  • 控制速度/隐身和可靠性之间的权衡
  • 性能调优。控制要同时扫描的网站数量。
  • 多种日志格式:XML,JSON,MagicTree,RubyObject,MongoDB、SQL和ElasticSearch。
  • 代理支持,包括TOR
  • 可定制化HTTP头
  • 基本 HTTP 身份验证
  • 控制网页重定向。若网站返回302,会跳转到重定向的网站
  • 可以根据服务器返回的响应头确定网站使用的服务器类型,web中间件类型,cookie信息
  • 可以从网站的源代码中确定网站使用了哪些JavaScript库
  • 可以通过页面hash,path等确定网站使用的cms版本
  • 查询网站ip及所属国家
  • 支持批量扫描网站

二、WhatWeb安装

Whatweb是基于ruby语言开发,因此可以安装在具备ruby环境的系统中,目前支持Windows/Max OSX/Linux。
kali linux下已经集成了此工具;
ubuntu:apt-get install whatweb
安装路径:/usr/share/whatweb
ruby版本:
whatweb版本:

三、WhatWeb使用

3.1、whatweb --help

root@node1:/home/zhang/Desktop# whatweb --help
WhatWeb - Next generation web scanner version 0.4.9.
Developed by Andrew Horton aka urbanadventurer and Brendan Coles.
Homepage: WhatWeb - MorningStar Security   # 官网

Usage: whatweb [options] <URLs>
TARGET SELECTION:
  <TARGETs>                     Enter URLs, hostnames, IP adddresses, filenames, or nmap-format IP address ranges.
  --input-file=FILE, -i         Read targets from a file. You can pipe hostnames or URLs directly with -i /dev/stdin.

TARGET MODIFICATION:
  --url-prefix                  Add a prefix to target URLs. 向目标URL添加前缀
  --url-suffix                  Add a suffix to target URLs. 为目标URL添加后缀
  --url-pattern                 Insert the targets into a URL.  将目标插入URL
                                e.g. example.com/%insert%/robots.txt
AGGRESSION:
The aggression level controls the trade-off between speed/stealth and reliability.
  --aggression, -a=LEVEL        Set the aggression level. Default: 1. 
  1. Stealthy                   每个目标发出一个HTTP请求,每个目标发出一个HTTP请求
  2. Unused                      未使用
  3. Aggressive                 可以对每个目标发出少量HTTP请求。只有当这些插件首先被标识为1级请求时,才会触发针对目标的攻击性插件
  4. Heavy                      每个目标产生大量HTTP请求. 来自所有插件的攻击性测试用于所有URL

HTTP OPTIONS:
  --user-agent, -U=AGENT        Identify as AGENT instead of WhatWeb/0.4.9.
  --header, -H                  Add an HTTP header. eg "Foo:Bar". Specifying a
                                default header will replace it. Specifying an
                                empty value, e.g. "User-Agent:" will remove it.
  --follow-redirect=WHEN        Control when to follow redirects. WHEN may be
                                `never', `http-only', `meta-only', `same-site',
                                `same-domain' or `always'. Default: always.
  --max-redirects=NUM           Maximum number of redirects. Default: 10.

AUTHENTICATION:
  --user, -u=<user:password>    HTTP basic authentication.
  --cookie, -c=COOKIES          Use cookies, e.g. 'name=value; name2=value2'.

PROXY:
  --proxy                       <hostname[:port]> Set proxy hostname and port.
                                Default: 8080.
  --proxy-user                  <username:password> Set proxy user and password.

PLUGINS:
  --list-plugins, -l            List all plugins.  列出插件
  --info-plugins, -I=[SEARCH]   List all plugins with detailed information.  要查看有关插件或关键字搜索插件的详细信息
                                Optionally search with keywords in a comma
                                delimited list.
  --search-plugins=STRING       Search plugins for a keyword.
  --plugins, -p=LIST            Select plugins. LIST is a comma delimited set
                                of selected plugins. Default is all.
                                Each element can be a directory, file or plugin
                                name and can optionally have a modifier, +/-.
                                Examples: +/tmp/moo.rb,+/tmp/foo.rb
                                title,md5,+./plugins-disabled/
                                ./plugins-disabled,-md5
                                -p + is a shortcut for -p +plugins-disabled.
  --grep, -g=STRING             Search for STRING in HTTP responses. Reports
                                with a plugin named Grep.
  --custom-plugin=DEFINITION    Define a custom plugin named Custom-Plugin,
                                Examples: ":text=>'powered by abc'"
                                ":version=>/powered[ ]?by ab[0-9]/"
                                ":ghdb=>'intitle:abc \"powered by abc\"'"
                                ":md5=>'8666257030b94d3bdb46e05945f60b42'"
                                "{:text=>'powered by abc'}"
  --dorks=PLUGIN                List Google dorks for the selected plugin.

OUTPUT:
  --verbose, -v                 Verbose output includes plugin descriptions. Use twice for debugging.
  --colour,--color=WHEN         control whether colour is used. WHEN may be 'never', 'always', or 'auto'.
  --quiet, -q                   Do not display brief logging to STDOUT.
  --no-errors                   Suppress error messages. 抑制错误信息

LOGGING:
  --log-brief=FILE              Log brief, one-line output.
  --log-verbose=FILE            Log verbose output.
  --log-errors=FILE             Log errors.
  --log-xml=FILE                Log XML format.
  --log-json=FILE               Log JSON format.
  --log-sql=FILE                Log SQL INSERT statements.
  --log-sql-create=FILE         Create SQL database tables.
  --log-json-verbose=FILE       Log JSON Verbose format.
  --log-magictree=FILE          Log MagicTree XML format.
  --log-object=FILE             Log Ruby object inspection format.
  --log-mongo-database          Name of the MongoDB database.
  --log-mongo-collection        Name of the MongoDB collection. Default: whatweb.
  --log-mongo-host              MongoDB hostname or IP address. Default: 0.0.0.0.
  --log-mongo-username          MongoDB username. Default: nil.
  --log-mongo-password          MongoDB password. Default: nil.
  --log-elastic-index           Name of the index to store results. Default: whatweb
  --log-elastic-host            Host:port of the elastic http interface. Default: 127.0.0.1:9200

PERFORMANCE & STABILITY:
  --max-threads, -t             Number of simultaneous threads. Default: 25. –wait 和 –max-threads 命令可用于协助规避 IDS
  --open-timeout                Time in seconds. Default: 15.
  --read-timeout                Time in seconds. Default: 30.
  --wait=SECONDS                Wait SECONDS between connections. This is useful when using a single thread.

HELP & MISCELLANEOUS:
  --short-help                  Short usage help.
  --help, -h                    Complete usage help.
  --debug                       Raise errors in plugins.
  --version                     Display version information.

EXAMPLE USAGE:
* Scan example.com.
  ./whatweb example.com
* Scan reddit.com slashdot.org with verbose plugin descriptions.
  ./whatweb -v reddit.com slashdot.org
* An aggressive scan of wired.com detects the exact version of WordPress.
  ./whatweb -a 3 www.wired.com
* Scan the local network quickly and suppress errors.
  whatweb --no-errors 192.168.0.0/24
* Scan the local network for https websites.
  whatweb --no-errors --url-prefix https:// 192.168.0.0/24
* Scan for crossdomain policies in the Alexa Top 1000.
  ./whatweb -i plugin-development/alexa-top-100.txt --url-suffix /crossdomain.xml -p crossdomain_xml
OPTIONAL DEPENDENCIES
--------------------------------------------------------------------------------
To enable MongoDB logging install the mongo gem.

3.2、使用

常规扫描
    whatweb 域名
批量扫描
    可以通过将很多要扫描的域名放在文件内,然后扫描时指定该文件即可。
    使用命令:whatweb -i /root/target.txt
详细回显扫描
    whatweb -v 域名
扫描强度等级控制:
    whatweb -a 等级 域名   (可以和-a和-v参数结合使用)
快速本地扫描(扫描内网主机)
    whatweb --no-errors -t 255 内网网段 (可以和-a和-v参数结合使用)
将扫描结果导出至文件内
    whatweb www.baidu.com --log-json=baidu.json
其他格式导出文件同理:
  • --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     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 errors=FILE        日志错误。这通常以红色打印在屏幕上。
注:
    1. Json 格式需要安装 json 依赖 sudo gem install json
    2、Mongo 格式需要安装 mongo 依赖 sudo gem install mongo # 参考 ubuntu使用gem安装nokogiri报错ERROR: Failed to build gem native extension._张麦麦​的博客-CSDN博客_ubuntu error: failed to build gem native extension
    3、要启用字符集检测和 MongoDB 日志记录,请gem安装 rchardet。 sudo gem install rchardet && sudo cp plugins-disabled/charset.rb my-plugins/
将扫描结果导出至mongo数据库
    whatweb www.baidu.com --log-mongo-database=testdb --log-mongo-collection=whatweb --log-mongo-host=192.168.11.135
    第一次报错:Sorry. The mongo and rchardet gems are required for Mongo output
    安装依赖,执行如下指令:    
apt-get install build-essential patch ruby-dev zlib1g-dev liblzma-dev
gem install mongo
cd /usr/share/whatweb
cp plugins-disabled/charset.rb my-plugins/

四、参考

WhatWeb - MorningStar Security   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库原理及MySQL应用 | 数据库安全加固

数据库安全至关重要&#xff0c;可从多方面对数据库进行加固。 数据库安全怎么强调都不过分&#xff0c;可以从以下方面对数据库进行加固&#xff0c;让它更安全。 01、操作系统级别 可从以下七方面实现操作系统级别的安全加固。 1. 使用数据库专用服务器 使用专用的服务器…

《大数据导论》之数据生命周期和数据使用

1 数据生命周期 数据都存在一个生命周期&#xff0c;数据生命周期是指数据从创建、修改、发布利用到归档/销毁的整个过程。 1.1 数据生命周期管理工作包括以下几个方面&#xff1a; 分类&#xff1a;对数据进行自动分类&#xff0c;分离出有效的数据&#xff0c;对不同类型数据…

【MySQL】数据库基础知识汇总和增删改查操作

【MySQL】数据库基础知识汇总和增删查改操作 文章目录【MySQL】数据库基础知识汇总和增删查改操作1.数据库基础知识:2.对数据库的相关操作:2.1.显示当前所有的数据库, show databases;2.2.创建数据库, create database 数据库名;2.3.选中数据库, use 数据库名;2.4.删除数据库, …

基于腾讯云的艺术展小程序

第一章 项目背景 1.1 项目简介和应用现状 基于腾讯云的艺术展小程序&#xff1a;打造集美术鉴赏、艺术科普、当代优秀艺术品交流多功能融艺术性、知识性、趣味性、便利性于一体的一站式平台&#xff0c;为广大艺术爱好者提供优质服务&#xff01;小程序前后端完整&#xff0c…

特别活动丨HuggingFace工程师教你HF的正确打开方式

主题&#xff1a; HuggingFace的正确打开方式时间&#xff1a; 2022年12月15日&#xff08;周四&#xff09; 20:30-21:30由北京智源人工智能研究院主办的2022大模型创新论坛正如火如荼进行中&#xff0c;论坛包含训练营、峰会、创业大赛、黑客马拉松、闭门研讨会、创新应用榜单…

Python数据标准化

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 Python数据标准化 选择题 以下python代码结果错误的一项是? import pandas as pd import numpy as np from sklearn import preprocessing myDatapd.DataFrame({C1:[-1,-3,-5]}) p…

Moonbeam与Hyperlane之间的跨链互连合约

跨链通信除了作为Moonbeam的核心&#xff0c;也是为何另一个跨链协议Hyperlane部署于Moonbeam之上的原因。与先前介绍的跨链协议Axelar和LayerZero类似&#xff0c;Hyperlane允许开发人员编写可以跨区块链通信的智能合约&#xff0c;并让开发人员可以在Moonbeam上构建&#xff…

Linux中可用于监视磁盘使用情况的命令行实用程序

df命令 df是一个Linux命令行实用程序&#xff0c;用于监视Linux磁盘使用情况。df命令显示文件系统磁盘使用情况详细信息的完整摘要。通过-hT选项&#xff0c;它以易于阅读的格式显示有关文件系统、类型、磁盘总大小、已使用容量、剩余容量&#xff0c;使用率以及磁盘安装位置等…

基于DOA联合TDOA时间积累的二维GDOP仿真分析

up目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 无人机(UAV)因其体积小,灵活性高,成本低等优势得到快速发展并被广泛应用于军事战争,城市管理,民用,地质,抢险救灾等各个领域,与此同时,无人机定位技术也得到了深入研究,其中无线电探测与定位技术备受众多学者关…

liunx常用命令 适用了centos stream9

最近刚好需要重新再学习一下Linux然后开始学习大数据&#xff0c;就重新再温习一下Linux&#xff0c;然后需要把个人所有的编程环境和数据库变成linux版本&#xff0c;虽然一直以来都是用win系统做数据&#xff0c;但是liunx系统的安全和快速最近试了一下确实令我着迷。 liunx常…

[附源码]Nodejs计算机毕业设计基于web的教学资源管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

JSP ssh流量充值系统myeclipse开发oracle数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh流量充值系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myec…

Spring MVC学习 | 使用域对象共享数据

文章目录一、回顾域对象二、在request域共享数据2.1 使用ServletAPI2.2 使用ModelAndView对象2.3 使用Model对象2.4 使用ModelMap对象2.5 使用Map集合2.6 Model、ModelMap和Map的关系2.7 使用域对象的底层原理三、在session域共享数据四、在application域共享数据学习视频&…

SpringBoot 替换 if 的参数校验

简单使用 Java API规范(JSR303)定义了Bean校验的标准validation-api&#xff0c;但没有提供实现。hibernate validation是对这个规范的实现&#xff0c;并增加了校验注解如Email、Length等。 Spring Validation是对hibernate validation的二次封装&#xff0c;用于支持spring…

Windows 禁用驱动签名方式

Windows 禁用驱动签名方式1. Windows开启测试模式2. 强制禁用2.1 Win7、Win82.2 Win103. 开机选用强制开启禁用签名模式3.1 Win72.3 Win8、Win10及Win113. 参考1. Windows开启测试模式 以管理员模式启动cmd&#xff0c;输入以下命令&#xff1a; 开启系统的测试模式 bcdedit …

来自飞桨社区开发者的礼物,《动手学深度学习》飞桨版上线!

近几年&#xff0c;各行各业已经逐渐开始基于AI技术启动企业智能化转型&#xff0c;AI技术的广泛应用催生了对AI应用人才的需求。如何不断夯实自身的AI技术能力&#xff0c;提升自己的职业竞争力&#xff1f;飞桨社区的开发者给大家带来一份神秘礼物。李沐老师的《动手学深度学…

web前端网页设计期末课程大作业:旅游网页主题网站设计——紫色的旅游开发景点网站静态模板(4页)HTML+CSS+JavaScript

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

股票l2接口的委托数据有什么作用?

股票l2接口的委托数据有什么作用&#xff1f; 委托队列返回数据&#xff1a;Level 2 行情将真实的每笔成交和成交量以明细数据呈现给用户。 用户可通过查看明细成交数据&#xff0c;判断出委托是属于大单、中单、小单并以此推断出是机构、大户、散户等所为&#xff0c;查明主…

国内外远程办公软件现状

我们说的远程办公通常指狭义上的远程办公&#xff0c;是指通过远程技术&#xff0c;或远程控制软件&#xff0c;对远程电脑进行操作办公&#xff0c;实现非本地办公&#xff0c;如在家办公、异地办公、移动办公等远程办公模式。这种技术的关键在于:穿透内网和远程控制的安全性。…

软件工程期末复习

文章目录一、单选、多选、判断二、简答题1、MVC体系结构2、软件风险的分类3、测试准则&#xff08;教材P111- 5.2.3&#xff09;4、结构化分析的方法5、面向对象设计的原则&#xff08;SOLID&#xff09;&#xff08;1&#xff09;单一职责原则&#xff08;2&#xff09;开放/闭…