郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担。
类别 | 说明 |
---|
作者 | 三米前有蕉皮 |
团队 | 0x727 未来一段时间将陆续开源工具 |
定位 | 社区化指纹库,让管理和使用指纹规则更加简单。 |
语言 | Yaml |
功能 | 可自定义请求,使用github actions 自动更新指纹库。 |
规则说明
name: apache-shiro
priority: 3
fingerprint:
- path: /
request_method: post
request_headers:
Cookie: rememberMe=admin
request_data: ''
status_code: 0
headers:
Set-Cookie: rememberMe=deleteMe
keyword: [ ]
- path: /
request_method: get
request_headers: { }
request_data: ''
status_code: 0
headers: { }
keyword:
- </i> shiro</li>
字段 | 数据类型 | 描述 |
---|
request_method | String | 自定义请求方法 |
request_data | String | 自定义请求数据 |
request_headers | HashMap<String,String> | 自定义请求头 |
path | String | HTTP请求的路径。 |
status_code | u32 | 响应状态码,不匹配可以填0。 |
headers | HashMap<String,String> | 相应的请求头,以键值对出现,值填* 时只匹配键。 |
keyword | Vec | 响应的HTML关键词数组,可以添加多个关键词提高识别精度 |
priority | u32 | 优先程度,用来排序是否为重要组件资产,数字越大越重要,可选:[1,2,3] |
- 一个
path
为一组指纹,像上面的yaml规则中有两组指纹,只要匹配到了一组,就会返回name
字段,也就是apache-shiro
。
如何贡献
提交指纹规则
cd FingerprintHub
git remote add upstream [email protected]:0x727/FingerprintHub.git
git fetch upstream
git checkout -b upstream-main --track upstream/main
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
- 不要直接在
main
分支上修改,创建一个新的分支并切换到新的分支。
- 复制一份指纹规则文件,修改文件名和你想要提交的组件名一样,修改yaml文件里面的
name
字段为添加的组件名,添加或者修改规则。 - 跟踪修改和提交Pull-Requests,合并指纹。
git add 你添加或者修改的文件名
git commit -m "添加的组件名或者你的描述"
git push origin thinkphp
- 打开你Fork这个项目的地址,点击与上游合并,等待审核合并指纹。