一个使用 Go 语言开发的 Web 应用指纹识别引擎。本引擎基于 Chromium 浏览器来收集 Web 应用信息,然后分别从
响应头
、响应页面
、JS 变量
、JS 文件
,收藏图标
、SSL 证书
、robots.txt
等维度来进行 Web 应用的指纹识别。
运行环境
- 操作系统:Windows X64 / Linux X86_64 / Mac OSX amd64
- 浏览器: Chromium(首次运行时程序会自动下载,请耐心等待)
<目录>
|-- gwaf_<os>_<arch> # 主程序
|-- apps.json # 主指纹库文件
|-- custom.json # 自定义规则库文件
提示: 本引擎的指纹库与 Wappalyzer <= 6.2.3 版本完全兼容,可直接下载覆盖本引擎的 apps.json
主指纹库文件。
usage: gwaf [<flags>]
Flags:
-h, --help 显示帮助信息
-m, --mode="blink" 工作模式: blink 或 request,默认为 blink
-u, --url="" 目标 URL
-f, --file="" 目标 URL 列表文件路径
-o, --out="" 结果输出文件路径
-t, --thread=10 并发线程数量
-v, --verbose 指示在结果中包含原始响应头和响应体
-r, --rule="" 指纹库文件路径
-c, --custom-rule="" 自定义指纹库文件路径
--include 指纹包含过滤器(指定后将不处理条件外的指纹),示例: cats:5,52,17
--ignore 指纹忽略过滤器(指定后将不处理符合条件的指纹),示例:cats:17,21,32
-T, --timeout=10 每个 URL 请求的 超时时间
-s, --sleep=10 识别两条指纹之间的等待时间
-S, --snapshot 捕获目标 URL 首页页面快照
-d, --debug=0 日志级别: 0-NONE, 1-FATAL, 2-ERROR, 3-WARN, 4-INFO, 5-DEBUG, 6-TRACE
-F, --fast 快速模式。该模式下原始响应和 JS 变量将不会处理
-R, --render=10 页面渲染等待时间
--cols=2000 处理 HTML 页面每行的字符数
--rows=3000 处理 HTML 页面的总行数
--proxy 通过 HTTP 代理服务器访问目标URL,示例:127.0.0.1:8080
-V, --version 显示程序版本
超时时间说明: 一次指纹识别的最大总超时时间大约为 -T/--timeout
值的 1.5 ~ 2 倍。
# 单 URL 检测
./gwaf -u https://www.example.com/
# URL 列表文件批量检测
./gwaf -r apps.json -f urls.txt
# 快速检测(忽略原始响应体和JS变量检测)
./gwaf -u https://www.example.com/ -F
# 使用额外的自定义规则检测
./gwaf -c custom.json -u https://www.example.com/
错误:
[
{
"url": "https://ssdfjsdfjdsfsdfsf.c",
"error": "navigation failed: net::ERR_CONNECTION_FAILED",
"status": 0,
"time": 0
}
]
有结果:
[
{
"url": "https://www.example.com/",
"title": "https://www.example.com",
"headers": {
"Host": "www.example.com"
},
"certificate": {
"cn": "*.example.com",
"issuer": "RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1",
"san": "*.example.com,example.com",
"from": "2021-01-15 08:00:00 +0800 CST",
"to": "2099-01-16 07:59:59 +0800 CST"
},
"iconHash": "460fda76b73a833c48ad519778abf7f7",
"icon": "https://nwzimg.wezhan.cn/favicon.png",
"applications": [
{
"categories": [
{
"id": "22",
"name": "Web Servers"
}
],
"description": "Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级 功能和特性。",
"website": "http://tengine.taobao.org/",
"layer": 3,
"layer_name": "服务层",
"name": "Tengine",
"confidence": "50",
"version": ""
}
],
"rawHeaders": "<Base64编码字符串>",
"html": "<Base64编码字符串>",
"cookie": {
"KEY": "VALUE"
},
"status": 200,
"time": 4,
"login": 1, // 标识目标为登录页面
"captcha": 1 // 标记目标存在图形验证码
}
]