FingerprintHub

郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。

类别 说明
作者 三米前有蕉皮
团队 0x727 未来一段时间将陆续开源工具
定位 社区化指纹库,让管理和使用指纹规则更加简单。
语言 Yaml
功能 可自定义请求,使用github actions 自动更新指纹库。

规则说明

name: apache-shiro
priority: 3
nuclei_tags:
  - - "shiro"
    - "apache"
fingerprint:
  - path: /
    request_method: post
    request_headers:
      Cookie: rememberMe=admin;rememberMe-K=admin
    request_data: ''
    status_code: 0
    headers:
      Set-Cookie: rememberMe=deleteMe
    keyword: [ ]
    favicon_hash: [ ]
  - path: /
    request_method: get
    request_headers: { }
    request_data: ''
    status_code: 0
    headers: { }
    keyword:
      - </i> shiro</li>
    favicon_hash: [ ]
字段 数据类型 描述
request_method String 自定义请求方法
request_data String 自定义请求数据,base64编码后的字符串
request_headers HashMap<String,String> 自定义请求头
path String HTTP请求的路径。
status_code u32 响应状态码,不匹配可以填0
headers HashMap<String,String> 相应的请求头,以键值对出现,值填*时只匹配键
keyword Vec 响应的HTML关键词数组,可以添加多个关键词提高识别精度
favicon_hash Vec favicon的MD5哈希数组,取并集关系,只要匹配到一个就算识别到
priority u32 优先程度,用来排序是否为重要组件资产,数字越大越重要,可选:[1,2,3],有标题和存在漏洞都会+1
nuclei_tags Vec<Vec> nuclei中的标签,当标签为[[“shiro”,”apache”]]的时候,
yaml中同时有shiroapache这两个标签会被分到apache-shiro这个文件夹

如何贡献

验证单个指纹是否有效

➜  ~ ./observer_ward_amd64 --verify 0x727/FingerprintHub/fingerprint/swagger.yaml -t http://httpbin.org
[ http://httpbin.org |["swagger"] | 9593 | 200 | httpbin.org ]
Important technology:

+--------------------+---------+--------+-------------+-------------+----------+
| url                | name    | length | status_code | title       | priority |
+====================+=========+========+=============+=============+==========+
| http://httpbin.org | swagger | 9593   | 200         | httpbin.org | 5        |
+--------------------+---------+--------+-------------+-------------+----------+

在线提交指纹

提交指纹规则

git clone git@github.com:你的个人github用户名/FingerprintHub.git
cd FingerprintHub
git remote add upstream git@github.com:0x727/FingerprintHub.git
git fetch upstream
git config --global user.name "$GITHUB_USERNAME"
git config --global user.email "$GITHUB_EMAIL"
git config --global github.user "$GITHUB_USERNAME"
git fetch --all
git fetch upstream
git checkout -b thinkphp
git add 你添加或者修改的文件名
git commit -m "添加的组件名或者你的描述"
git push origin thinkphp

谁在使用FingerprintHub

ObserverWard
nuclei
nemo_go
afrog
ShuiZe

指纹反馈

谢谢