渗透测试必备|一款优秀的web指纹识别工具

渗透测试必备|一款优秀的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)
  -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": "非凡建站",