Whatweb简单使用

2023-11-24 11:30
文章标签 简单 使用 whatweb

本文主要是介绍Whatweb简单使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

简介

安装

debian/ubtuntu

redhat/centos

特性

使用

常用参数如下:

whatweb -v

whatweb --version

whatweb -i 1.txt

whatweb -v www.baidu.com

扫描等级

whatweb -a 4 www.baidu.com

扫描网段

whatweb --no-errors -t 255 192.168.71.0/24

导出

插件

whatweb -v -p php http://www.xiaodi8.com/


简介

whatweb 一款网站指纹识别工具,使用Ruby语言开发。

whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等等。WhatWeb还标识版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等。

WhatWeb可以隐秘、快速、彻底或缓慢扫描。(代表他有四个扫描等级)

WhatWeb支持攻击级别来控制速度和可靠性之间的权衡。当在浏览器中访问网站时,该交易包含许多关于Web技术为该网站提供支持的提示。有时,单个网页访问包含足够的信息来识别网站,但如果没有,WhatWeb可以进一步询问网站。默认的攻击级别称为“被动”,速度最快,只需要一个网站的HTTP请求。这适用于扫描公共网站。在渗透测试中开发了更积极的模式。

安装

debian/ubtuntu

apt-get install whatweb

kali中自带whatweb,如果没有的话也可以使用上述命令安装,因为kali是基于 Debian 的一个特定用途的 Linux 发行版。

redhat/centos

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

特性

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

使用

whatweb [options] <URLs>

常用参数如下:

-h 查看帮助信息

--version 查看版本信息

-i 指定要扫描的文件

-v 详细显示扫描的结果

-a 指定运行级别

whatweb -v

查看工具帮助信息

whatweb --version

查看工具版本信息

whatweb -i 1.txt

将需要扫描的域名放到1.txt,批量扫描域名

whatweb -v www.baidu.com

显示扫描结果的详细信息

扫描等级

whatweb共有四个扫描等级,分别是1-4级,对应不同的扫描机制(当不指定扫描等级的时候,默认使用1级),同样的当等级越高,所需要的时间也越长。等级2不可用,需要注意一下。

  1. stealthy 每个目标发送一次http请求,并且会跟随重定向
  2. unused 不可用
  3. aggressive 每个目标发送少量的http请求,这些请求时根据参数为1时结果确定的
  4. heavy 每个目标会发送大量的http请求,会去尝试每一个插件
whatweb -a 4 www.baidu.com

当使用等级2时会报错提示未选择等级,这里是因为等级2已经不可用了。

扫描网段

whatweb --no-errors -t 255 192.168.71.0/24

--no-errors:该选项用于在输出中隐藏错误信息,使得输出更为简洁。

-t:该参数用于设置线程数,这里是255线程。

192.168.71.0/24:这里表示扫描的网段,同时也可以扫描单个IP

这里还可以跟-i、-v、-a参数配合使用,但是你会发现这样使用,扫描的结果都在终端中不好翻阅。接下来说明whatweb将结果导出。

导出

whatweb支持多种方式导出的格式
--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数据库格式
json格式需要安装json依赖sudo gem install json
Mongo格式需要安装mongo依赖sudo gem install mongo

具体选取哪种导出格式根据自己需求选择

插件

whatweb拥有1700多个插件,所以它的拓展性还是比较强的,可以根据自己的需求使用特定的插件。

这里我是直接把whatweb的仓库git下来了

可以将插件更新一下

这里使用php这个插件,这个插件可以看目标是否有使用PHP,并且还可以将PHP的版本扫描出来。如果有需要的插件,可以先去查找一下有没有这个插件后再去使用。

whatweb -v -p php http://www.xiaodi8.com/

这里使用-v参数可以详细列出扫描结果

也可以不使用-v参数直接一行出结果,如果目标使用PHP的话扫描结果就会有PHP的显示,没有的话就不显示

而如果目标没有使用PHP的话,那就没有PHP的显示,但也可能是whatweb没有扫描出来

这篇关于Whatweb简单使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/421863

相关文章

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

PyQt6中QMainWindow组件的使用详解

《PyQt6中QMainWindow组件的使用详解》QMainWindow是PyQt6中用于构建桌面应用程序的基础组件,本文主要介绍了PyQt6中QMainWindow组件的使用,具有一定的参考价值,... 目录1. QMainWindow 组php件概述2. 使用 QMainWindow3. QMainW

使用Python自动化生成PPT并结合LLM生成内容的代码解析

《使用Python自动化生成PPT并结合LLM生成内容的代码解析》PowerPoint是常用的文档工具,但手动设计和排版耗时耗力,本文将展示如何通过Python自动化提取PPT样式并生成新PPT,同时... 目录核心代码解析1. 提取 PPT 样式到 jsON关键步骤:代码片段:2. 应用 JSON 样式到

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

Java资源管理和引用体系的使用详解

《Java资源管理和引用体系的使用详解》:本文主要介绍Java资源管理和引用体系的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Java的引用体系1、强引用 (Strong Reference)2、软引用 (Soft Reference)3、弱引用 (W

ubuntu系统使用官方操作命令升级Dify指南

《ubuntu系统使用官方操作命令升级Dify指南》Dify支持自动化执行、日志记录和结果管理,适用于数据处理、模型训练和部署等场景,今天我们就来看看ubuntu系统中使用官方操作命令升级Dify的方... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。