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

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完