渗透测试必备|一款优秀的web指纹识别工具
Posted 李志宽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了渗透测试必备|一款优秀的web指纹识别工具相关的知识,希望对你有一定的参考价值。
前言
一直苦于没有用的顺手的web指纹识别工具,学习前辈s7ckTeam的Glass和broken5的WebAliveScan优秀开源程序开发的轻量型web指纹工具。
安装
开发语言
- python3
运行环境
- Linux
- Windows
- Mac
安装
git clone https://github.com/EASY233/Finger
cd Finger
pip3 install -r requirements.txt
跟新说明
V3.0跟新
- 添加了数据库(sqlite)支持功能模块,默认开启可在config/config.py配置文件中关闭该功能,每一次指纹识别数据都会自动添加到数据库中如果发现之前的数据已经存在会覆盖曾经的数据。
- 修复了一些bug
V2.0跟新
- 添加了md5识别方法,可在config/config.py配置文件中开启该功能默认关闭。
- 指纹库使用wappalyzer库()和TideFinger的cms指纹库。
- 优化了整个识别算法,让其识别更加准确更加高效。
- 修复了若干bug
使用方法
参数说明
optional arguments:
-h, --help show this help message and exit
Target:
-u URL Input your url target
-f FILE Input your target's file
Output:
-o OUTPUT Select the output format.eg(html,json,xml,default:html)
DB:
-type TYPE Select how you want to query
-key KEY search for the keyword
Usage:
单一URL识别: python3 Finger.py -u http://www.baidu.com or www.baidu.com
批量URL识别: python3 Finger.py -f xx.txt
输出方式:
支持html,json,xml三种格式默认html格式
用法:python3 Finger.py -f xx.txt -o json
从数据库中查询信息:
-type 查询方式可通过url,title,application,status等等方式支持模糊查询
-key 查询关键字
配置说明
默认线程数为20实际需要修改可以在config/config.py中进行修改
threads = 20
指纹识别库在library/end.json中可执行添加修改,添加修改规则:
支持的规则如下:
- 从headers头中匹配规则
- 从html内容中匹配规则
- 从script中匹配规则
- 从meta中匹配规则
- 请求特定的页面进行规则匹配(md5或者keyword)
下面是一些例子:
{
"name": "WordPress",
"cats": "Application",
"html": ["<link rel=[\\"']stylesheet[\\"'] [^>]+wp-(?:content|includes)", "<link[^>]+s\\\\d+\\\\.wp\\\\.com"],
"meta": {
"generator": "WordPress( [\\\\d.]+)?\\\\;version:\\\\1"
}
, {
"name": "phpSQLiteCMS",
"cats": "Application",
"meta": {
"generator": "^phpSQLiteCMS(?: (.+))?$\\\\;version:\\\\1"
}
},{
"name": "非凡建站",
"cats": "Application",
"matches": {
"url": "/images/Jobs_resume_up.gif",
"md5": "041718edc41fb801317c3a0b1f4b7ca9"
}
}, {
"name": "非凡建站",
"cats": "Application",
"matches": {
"url": "/qq/images/mid4.gif",
"md5": "a2d236f6cf10df3342e017a8aea7de31"
}
}
一些注意事项:
- 注意按照格式填写规则,name识别名字和cats识别类型必须要填。cats目前只支持四类,Application(应用),Language(语言),System(操作系统),Server(服务)。
数据库操作
每一次指纹识别数据都会自动添加到数据库中如果发现之前的数据已经存在会覆盖曾经的数据。
并且支持直接从数据库中提取我们需要的数据:
从数据库中的查询title中含有wordpress的数据。
python3 .\\Finger.py -type title -key wordpress
运行效果
扫描报告样式取自Glass样式报告:
以上是关于渗透测试必备|一款优秀的web指纹识别工具的主要内容,如果未能解决你的问题,请参考以下文章