~~~~~~~~ 因为想要面对一个新的开始,一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些,就不叫新的开始,而叫逃亡。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ————玛丽亚·杜埃尼亚斯
前言
web指纹扫描主要用于对应用名称(版本)、服务器软件(版本)、编程语言(版本)、应用框架(版本)四大特征的识别,以实现对目标应用的准确标识。现有产品比如知道创宇的:ZoomEye
网站指纹信息包括:应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。
设备指纹信息包括:应用名、版本、开放端口、操作系统、服务名、地理位置等
whatweb简介
Whatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等等。WhatWeb有超过1000个插件,每个插件都能识别不同的东西。WhatWeb还标识版本号,电子邮件地址,账户ID,Web框架模块,SQL错误等。
WhatWeb可以隐秘、快速、彻底或缓慢扫描。WhatWeb支持攻击级别来控制速度和可靠性之间的权衡。当在浏览器中访问网站时,该交易包含许多关于Web技术为该网站提供支持的提示。有时,单个网页访问包含足够的信息来识别网站,但如果没有,WhatWeb可以进一步询问网站。默认的攻击级别称为“被动”,速度最快,只需要一个网站的HTTP请求。这适用于扫描公共网站。在渗透测试中开发了更积极的模式。
whatweb的使用
Whatweb是基于ruby语言开发,因此可以安装在具备ruby环境的系统中,目前支持Windows/Max OSX/Linux。kali linux已经集成了此工具。
可以使用whatweb --version查看版本信息
使用whatweb --help 查看帮助信息
使用参数介绍
whatweb 域名
-i 指定要扫描的文件
-v 详细显示扫描的结果
-a 指定运行级别
常规的扫描
批量扫描
比如我们可以创建一个文件,将需要扫描的域名放进去,然后指定该文件即可
使用命令:whatweb -i url.txt(注意这里路径要跟对,因为我就在当前路径,所以直接跟文件名)
详细回显扫描结果
扫描强度等级控制
- whatweb有一个-aggression(简写为-a)参数,此参数后边可以跟数字1-4,分别对应4个不同的等级。
- tealthy 每个目标发送一次http请求,并且会跟随重定向
unused 不可用(从2011年开始,此参数就是在开发状态 - aggressive 每个目标发送少量的http请求,这些请求时根据参数为1时结果确定的
- heavy 每个目标会发送大量的http请求,会去尝试每一个插件
格式:whatweb -a 等级 域名
快速扫描本地主机
whatweb --no-errors -t 255 内网网段
可以和-a 和-v参数结合使用
如:whatweb -v -a 3 --no-errors -t 255 172.20.10.0/24
将扫描结果导入到文件中
whatweb支持多种日志的保存格式,可以将探测的结果导入到文件中保存,方便查看和搜索。
格式参考
–log-brief=FILE 简要的记录,每个网站只记录一条返回信息
–log-verbose=FILE 详细输出
–log-xml=FILE 返回xml格式的日志
–log-json=FILE 以json格式记录日志
–log-json-verbose=FILE 记录详细的json日志
–log-magictree=FILE xml的树形结构
注:1. Json 格式需要安装 json 依赖 sudo gem install json
2. Mongo 格式需要安装 mongo 依赖 sudo gem install mongo
比如以xml格式