WhatWeb使用

作者: 卿酌南烛_b805 | 来源:发表于2020-07-19 20:13 被阅读0次

    简介

    WhatWeb是一个开源的网站指纹识别软件。

    WhatWeb可识别Web技术,包括内容管理系统(CMS),博客平台,统计/分析包,Javascript库,服务器和嵌入式设备。

    WhatWeb有超过1000个插件,每个插件都能识别不同的东西。WhatWeb还标识版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等。

    特性

    拥有超过1700+个插件

    若网站返回302,会跳转到重定向的网站

    可以根据服务器返回的响应头确定网站使用的服务器类型,web中间件类型,cookie信息

    可以从网站的源代码中确定网站使用了哪些JavaScript库

    可以通过页面hash,path等确定网站使用的cms版本

    查询网站ip及所属国家

    多种日志格式:XML,JSON,MagicTree,RubyObject,MongoDB

    可定制化HTTP头

    可进行基础的认证设置

    支持批量扫描网站

    安装

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

    注:kali linux下已经集成了此工具

    debian/ubtuntu系统下

    apt-get install whatweb  //可自动解决以来问题

    redhat/centos系统下

    yum updateyum install ruby ruby-devel rubygemswget http://www.morningstarsecurity.com/downloads/whatweb-0.4.7.tar.gztar xzvf whatweb-0.4.7.tar.gzcd whatweb-0.4.7./whatweb url

    使用

    用法:whatweb 域名

    -i 指定要扫描的文件

    -v 详细显示扫描的结果

    -a 指定运行级别

    常规扫描

    whatweb 域名

    批量扫描

    我们可以通过将很多要扫描的域名放在文件内,然后扫描时指定该文件即可。

    使用命令:whatweb -i /root/target.txt

    详细回显扫描

    whatweb -v 域名

    强度扫描等级控制

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

    stealthy 每个目标发送一次http请求,并且会跟随重定向

    unused 不可用(从2011年开始,此参数就是在开发状态

    aggressive 每个目标发送少量的http请求,这些请求时根据参数为1时结果确定的

    heavy 每个目标会发送大量的http请求,会去尝试每一个插件

    whatweb -a 等级 域名 (可以和-v参数结合使用

    注:默认参数为1

    快速本地扫描(扫描内网主机)

    whatweb --no-errors -t 255 内网网段 (可以和-a和-v参数结合使用

    将扫描结果导出至文件内

    whatweb www.baidu.com --log-xml=baidu.xml

    其他格式导出文件同理:

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

    列出所有插件

    whatweb -l

    查看插件的具体信息

    whatweb --info-plugins="插件名"

    插件的开发语言为ruby,所以插件为.rb格式,插件的保存目录为/usr/share/whatweb/plugins,可以查看别人是怎么写插件的。

    编写whatweb插件

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

    whatweb的官方模板:

    Plugin.define "Plugin-Template" do    author "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

    语法解释:

    第一行定义的为插件的名字,可以直接在命令行中使用。

    命令行测试:

    ./whatweb -p drupal www.example.com

    第二行作者,第三行版本,第四行插件描述,第五行,插件所使用网站的例子

    第五行是一个matchs列表,也是whatweb的关键,里边定义了一些匹配规则

    {:name=>”meta generator tag”, : 包含匹配的文件名称,这个文件必须是网站中唯一存在的文件。

    :regexp=> 是包含的要匹配的模式,它是一个正则表达式,可以有以下选项:

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

    了解以上选项我们可以写出一个简单的识别dedecms的插件,如下

    Plugin.define "DedeCMS" doauthor "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

    相关文章

      网友评论

        本文标题:WhatWeb使用

        本文链接:https://www.haomeiwen.com/subject/zrprkktx.html