[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

news/2024/4/28 19:10:41/文章来源:https://blog.csdn.net/qq_51577576/article/details/129973014

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、whatweb简介
  • 二、whatweb安装
    • 1、kali
    • 2、debian/ubtuntu系统安装
    • 3、redhat/centos系统安装
  • 三、whatweb特性
  • 四、whatweb使用
    • 1、whatweb参数介绍
    • 2、whatweb用法介绍
      • 1.查看版本信息
      • 2.查看帮助信息
      • 3.常规扫描
      • 4.批量扫描
      • 5.扫描结果显示详细内容
      • 6.设置扫描强度
      • 7.扫描网段
      • 8.导出扫描结果
      • 9.查看whatweb插件信息
  • 五、whatweb插件编写
    • 1、官方模板
    • 2、解释模板
    • 3、实例

一、whatweb简介

whatweb 一款网站指纹识别工具,使用Ruby语言开发。
whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等等。WhatWeb还标识版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等。
WhatWeb可以隐秘、快速、彻底或缓慢扫描。
WhatWeb支持攻击级别来控制速度和可靠性之间的权衡。当在浏览器中访问网站时,该交易包含许多关于Web技术为该网站提供支持的提示。有时,单个网页访问包含足够的信息来识别网站,但如果没有,WhatWeb可以进一步询问网站。默认的攻击级别称为“被动”,速度最快,只需要一个网站的HTTP请求。这适用于扫描公共网站。在渗透测试中开发了更积极的模式。

二、whatweb安装

Whatweb是基于ruby语言开发,因此可以安装在具备ruby环境的系统中,目前支持Windows/Max OSX/Linux。

1、kali

在kali中已经机场whatweb,我这里演示使用的是kali自带的wahtweb。
如果kali没有就使用apt-get install whatweb 安装
kali是基于debian的

2、debian/ubtuntu系统安装

debian/ubtuntu系统下

apt-get install whatweb 

3、redhat/centos系统安装

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

三、whatweb特性

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

四、whatweb使用

命令语法:

Usage: whatweb [options] <URLs>

1、whatweb参数介绍

常用参数如下:

-h 查看帮助信息
--version 查看版本信息
-i 指定要扫描的文件
-v 详细显示扫描的结果
-a 指定运行级别

所有参数:
使用添加whatweb -h查看所有参数

whatweb -h

在这里插入图片描述

2、whatweb用法介绍

1.查看版本信息

whatweb --version

在这里插入图片描述

2.查看帮助信息

whatweb -h

在这里插入图片描述

3.常规扫描

whatweb url

在这里插入图片描述

4.批量扫描

将url全部写入一个txt中,然后使用-i参数指定文件就可以了

在这里插入图片描述

whatweb -i url.txt

在这里插入图片描述

5.扫描结果显示详细内容

使用-v参数就可以了,nmap查看详细信息也是-v

whatweb -v http://192.168.233.181

在这里插入图片描述

6.设置扫描强度

whatweb有一个-aggression(简写为-a)参数,此参数后边可以跟数字1-4,分别对应4个不同的等级。

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

举例:可配合-v,-i一起使用

whatweb -a 1 http://192.168.233.181
whatweb -a 3 -v http://192.168.233.181
whatweb -a 4 http://192.168.233.181
whatweb -a 1 -v -i url.txt

在这里插入图片描述
在这里插入图片描述

7.扫描网段

扫描单网段

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

可结合-a -v -i一起使用

在这里插入图片描述

8.导出扫描结果

导出文件格式:

--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

扫描单网站输出xml文件

whatweb  http://192.168.233.181 --log-xml=output.txt

在这里插入图片描述

扫描单网段输出xml文件

whatweb  --no-errors -t 255 192.168.233.0/24 --log-xml=output1.txt

在这里插入图片描述

9.查看whatweb插件信息

whatweb -l

在这里插入图片描述

五、whatweb插件编写

whatweb对国内的网站识别不是很友好,我们可以自己写插件,兼容更多国内的网站。

1、官方模板

whatweb的官方模板如下:

Plugin.define "Plugin-Template" doauthor "Enter Your Name"version "0.1"description "Describe what the plugin identifies. Include the homepage of the software package"examples %w| include-some.net example-websites.com here.com |\# a comment block here is a good place to make notes for yourself and others \# There are four types of matches: regexp, text, ghdb \# Matches are enclosed in {} brackets and separated by commas matches [{:name=>"a brief description of the match, eg. powered by in footer",:certainty=>100, # 100 is certain, 75 is probably and 25 is maybe. if omitted, it defaults to 100. :regexp=>/This page was generated by http://www.genericcms.com\/en\/products\/generic-cms\/">Generic CMS<\/a>/ },{:name=>"title",:certainty=>75,:text=>"<title>Generic Homepage</title>" }]
end

2、解释模板

第一行定义的为插件的名字,可以直接在命令行中使用。
第二行作者,第三行版本,第四行插件描述,第五行,插件所使用网站的例子
第五行是一个matchs列表,也是whatweb的关键,里边定义了一些匹配规则
{:name=>”meta generator tag”, : 包含匹配的文件名称,这个文件必须是网站中唯一存在的文件。
:regexp=> 是包含的要匹配的模式,它是一个正则表达式,可以有以下选项:

:regexp标准的 ruby 正则表达式
:text 字符
:ghdb google hack 数据库,包含以下几个模式
inurl:包含的字符串在 url
intitle:包含的字符串在 title
filetype:包含的文件名,如 PDF, JPG, RB 等
:md5 请求页面的 md5 hash 值
:tagpattern html 标签
:version 可以设置正则表达式或直接字符串匹配
:string 可以设置正则表达式或直接字符串匹配
:filepath 可以设置正则表达式或直接字符串匹配,通常显示系统错误或配置文件等
:account 经常用在登陆页面或用户列表等
:module 可以设置正则表达式或直接字符串匹配,如网络设备可能使用了一个ruby 模块等
:model 可以设置正则表达式或直接字符串匹配
:firmware 可以设置正则表达式或直接字符串匹配,设备的固件版本

3、实例

Plugin.define "DedeCMS" do
author "xxxxx"
version "0.1"
description "dedecms - homepage:http://www.dedecms.com/"# Examples # 
examples %w|
www.dedecms.com|matches [# Version detection # Powered by text 
{:name=>"Powered by DedeCms",
:regexp=>/Powered by .*DedeCMS.*/}
]
end

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[学习笔记] 1. 机器学习前置知识

视频链接所有数据集下载地址&#xff1a;数据集 1. 机器学习前置知识 目录1. 机器学习概述1.1 机器学习算法分类1.1.1 监督学习1.1.2 无监督学习1.1.3 半监督学习1.1.4 强化学习1.2 模型评估1.2.1 分类模型评估1.2.2 回归模型评估1.3 拟合1.3.1 欠拟合1.3.2 过拟合2. Matplotli…

请求分页管理方式(中断 缺页中断)

目录 关于中断&#xff08;不管是内中断还是外中断&#xff09;&#xff08;先补充&#xff09; 页表机制 缺页中断机构&#xff08;缺页中断&#xff09; 关于内中断外中断 ​编辑 地址变换机构 关于中断&#xff08;不管是内中断还是外中断&#xff09;&#xff08;先补…

【C++】静态类成员

类中静态成员的特点是&#xff1a;无论创建了多少对象&#xff0c;程序都只创建一个静态类变量副本。也就是说&#xff0c;类的所有对象共享同一个静态成员&#xff0c;就像家中的电话可被全体家庭使用一样。 但是注意&#xff0c;不能在类声明中初始化静态成员变量&#xff0c…

牛客网算法八股刷题系列(六)正则化与偏差、方差的联系

牛客网算法八股刷题系列——正则化与偏差、方差的联系题目描述正确答案&#xff1a;C\mathcal CC题目解析场景构建λ⇔Bias\lambda \Leftrightarrow \text{Bias}λ⇔Bias拉格朗日乘数法角度权重衰减角度(包含λ⇔Variance\lambda \Leftrightarrow \text{Variance}λ⇔Variance解…

基于html+css的内容旋转

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

一起学 WebGL:绘制一个点

大家好&#xff0c;我是前端西瓜哥。 本文讲解如何用 WebGL 绘制一个点。 WebGL WebGL 是浏览器支持的一种绘制图形的 API&#xff0c;是一个标准。我们可以通过 Canvas 元素 在网页的特定区域绘制 2D 和 3D 图形。 相比 Canvas 2D&#xff0c;WebGL 利用了 GPU 的计算能力…

真给科技企业丢脸,在美国亚马逊做普通工人,你会吃不饱肚子

亚马逊公司&#xff08;Amazon&#xff09;&#xff0c;成立于1995年&#xff0c;是全球最大的一家科技创新型电子商务公司&#xff0c;是全球电子商务的最老资格。自从2015年底&#xff0c;亚马逊在俄亥俄州哥伦布市运营大型仓库&#xff0c;如今的亚马逊已经成为俄亥俄州最大…

基于C#语言专业开发的一套:医院手麻系统源码

手术室麻醉信息管理系统源码&#xff0c;手麻系统源码&#xff0c;C#手术麻醉系统源码 相关技术&#xff1a;C#语言前端框架&#xff1a;Winform后端框架&#xff1a;WCF数据库&#xff1a;sqlserver开发工具:VS2019 文末获取联系&#xff01; 系统概述&#xff1a; 手术麻醉…

全国青少年信息素养大赛2023年python·必做题模拟一卷

全国青少年电子信息智能创新大赛 python必做题模拟一卷 一、单选题 1. 以下哪种输入结果不可能得到以下反馈&#xff1a; 重要的事情说三遍&#xff1a;安全第一&#xff01;安全第一&#xff01;安全第一&#xff01;&#xff08; &#xff09; A、print("重要事情说…

Redis 如何配置读写分离架构(主从复制)?

文章目录Redis 如何配置读写分离架构&#xff08;主从复制&#xff09;&#xff1f;什么是 Redis 主从复制&#xff1f;如何配置主从复制架构&#xff1f;配置环境安装 Redis 步骤通过命令行配置从节点通过配置文件配置从节点redis 主从复制优点redis 主从复制缺点Redis 如何配…

Git仓库集成到VScode

前提是一种安装了Git&#xff0c;这里就不再介绍安装过程&#xff0c;进入Git官网进行下载安装即可。 这里用Gitee作为远程仓库演示&#xff0c;首先在gitee上新建仓库 新建完毕&#xff0c;生成了HTTPS地址&#xff0c;复制该远程仓库地址。 来到vscode&#xff0c;在没有仓库…

五.microchip 代理贝能的sam d51(LQFP100PIN)与LAN9253 电机控制开发板使用总结(3)

五.microchip 代理贝能的sam d51(LQFP100PIN)与LAN9253 电机控制开发板使用总结&#xff08;3&#xff09; 3.4 板子相关外设配置 3.4.1 板子MCU硬件 的LAN9253连接接口 pin numpin idcus_namefuncmodedirlatchpush uppush downdir str1PA00GPIO_PA0_D0GPIOINYNORMAL2PA01GP…

leetcode:只出现一次的数字 Ⅲ(详解)

前言&#xff1a;内容包括&#xff1a;题目&#xff0c;代码实现&#xff0c;大致思路&#xff0c;代码解读 题目&#xff1a; 给你一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任…

DOS批处理文件---内嵌参数变量扩充功能

1 内嵌参数变量 1.1 介绍 内嵌参数变量指&#xff1a;%i&#xff0c;其中i为大于等于0的整数。如%0&#xff0c; %1&#xff0c; %2&#xff0c;... 1.2 作用 可以客制化功能。 1.3 案例 批处理文件&#xff1a;main_Param.bat echo off && setlocal ENABLEDELA…

Solidworks学习一

目录页面介绍&#xff1a;视图操作&#xff1a;实例圆柱&#xff1a;直线的绘制&#xff1a;草图的保存和不保存&#xff1a;绘制工具&#xff1a;切线弧&#xff1a;转换实体引用&#xff1a;交叉曲线&#xff1a;等距实体&#xff1a;移动复制&#xff1a;约束&#xff1a;约…

MyBatisPlus-DQL编程控制

MyBatisPlus-DQL编程控制3&#xff0c;DQL编程控制3.1 条件查询3.1.1 条件查询的类3.1.2 环境构建3.1.3 构建条件查询3.1.4 多条件构建3.1.5 null判定3.2 查询投影3.2.1 查询指定字段3.2.2 聚合查询3.2.3 分组查询3.3 查询条件3.3.1 等值查询3.3.2 范围查询3.3.3 模糊查询3.3.4…

一起学 WebGL:动态绘制点

大家好&#xff0c;我是前端西瓜哥。上一篇文章讲解了如何绘制一个点。但这个点的信息是写死在渲染器源码中的&#xff0c;也就是硬编码。 这是系列文章&#xff0c;如果你是初学者&#xff0c;你需要看上一篇文章才好理解这节课的内容。 《一起学 WebGL&#xff1a;绘制一个点…

python五角星编程代码绘制

大家好&#xff0c;我是你们的好朋友&#xff0c;今天继续分享 Python的编程知识。 在 Python中&#xff0c;有一个非常强大的数据可视化工具&#xff1a; database. dl &#xff08;&#xff09;&#xff0c;其中有一个功能就是可以绘制五角星。 什么是五角星&#xff1f; 在数…

jenkins配置插件发版了解

jenkins配置&插件&发版了解 jenkins https://mirrors.jenkins.io/war-stable/2.222.1/ 包下载地址 jenkins镜像源修改 sed -i s/https:\/\/www.google.com/https:\/\/www.baidu.com/g default.json sed -i s/https:\/\/updates.jenkins.io\/download/https:\/\/mi…

怎么使用思维导图?

回答这个问题前&#xff0c;我们先来了解下三个问题&#xff1a; 1.思维导图是什么&#xff1f; 思维导图&#xff0c;又名心智导图&#xff0c;是表达发散性思维的有效图形思维工具 &#xff0c;它简单却又很有效同时又很高效&#xff0c;是一种实用性的思维工具&#xff08…