热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:渗透测试必备|一款优秀的web指纹识别工具

篇首语:本文由编程笔记#小编为大家整理,主要介绍了渗透测试必备|一款优秀的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)
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": ["]+wp-(?:content|includes)", "]+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(服务)。

数据库操作

每一次指纹识别数据都会自动添加到数据库中如果发现之前的数据已经存在会覆盖曾经的数据。

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

 

并且支持直接从数据库中提取我们需要的数据:

从数据库中的查询title中含有wordpress的数据。

python3 .\\Finger.py -type title -key wordpress

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

 


运行效果

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

 

扫描报告样式取自Glass样式报告:

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




推荐阅读
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
author-avatar
凝笙儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有