前言
2024.8.10日七夕,晚饭后我给她送了束花,把她送到家...... 好吧,不得不承认我似乎没有什么编剧天赋,剧情太老套了些 :)
想着给这篇文章起个什么有意思的名字,正好碰上昨天七夕节了,玩了一回标题党的操作,哈哈
首先想谈谈为什么会有这款工具
一则、是为了适配我最近完成的内网、外网扫描工具的漏洞检测功能,需要在poc检测前精准的识别目标系统,以做到http请求数量最少和最准确的探测。
这个是刚需,因为nday手动检测每次都惹的我头大,当然poc的收集肯定也是重头戏,这个放在后面再谈。
二则、是已有的工具满足不了当前需求
我分析了我的几点需求
1.跨平台,方便集成2.只需要识别重点系统即可,比如CMS、OA类型,并不需要识别Jquery、Codejs、Nginx这种中间件 (暂且统称为中间件)3. 内外网工具需要关注的系统肯定不一样,内网工具还要考虑到体积问题,所有尽量指纹规则文件可以方便的修改、移动。所有基于这几点,我的结论是:用goland实现、规则文件用 yaml格式方便改动尽量自己手动收集规则和过滤一遍有用的规则
几款同类型工具的观望
EHole (棱洞)3.0
三四年前发布的,goland实现,不准确,3.1之后尤其如此
Finger
py实现
Glass(镜)
同样是py实现
TideFinger
TideFinger有py版和go版本,尤其是TideFinger-go版本,号称整合了2.3w条指纹,实际上个人觉得指纹并不是越多越好,过多的指纹又没有经过验证,对检测也毫无益处,反而会导致过多的误报
最后的结论就是归根到底比拼的还是指纹库,
P1finger指纹识别的原理
市面上公开流行的web指纹识别工具的原理无非两种
一种是调用网空测绘工具(fofa等)的API识别获取指纹,这种方式根据需求暂不考虑
另一种是根据http请求特征,包括检测body,header,cert,icon,icon hash等,大多数工具都是基于此,P1finger也是。
那不同的工具差别在哪呢?
我的看法是最终的差别还是指纹规则文件和检测策略,P1finger主要还是着重这两方面的改进。
指纹库方面,目前对于一些重点系统的指纹由我人工过滤了一遍,准确率高
P1finger指纹的设计
因为暂不开源,简单介绍下了
一个栗子,对于一些强特征,直接添加body中的关键字中即可
需要较准确的检测的话,添加Condition条件,是 and 还是 or
工具地址
不多说了,实用为真。为了方便收到问题反馈,还是放到我的github上了
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...