Skip to content

Commit

Permalink
[add] 调整关于detail的描述
Browse files Browse the repository at this point in the history
  • Loading branch information
Jarcis-cy committed Nov 2, 2023
1 parent 8100ab8 commit faff690
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 52 deletions.
45 changes: 43 additions & 2 deletions guide/hiq/details.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,56 @@
# detail(信息部分)

这部分内容的填写也是我们需要具体关注的。虽然对于漏洞的识别来说它并没有任何的作用,但是一个规范良好的detail是方便双方的存在
这部分内容的填写也是我们需要具体关注的。虽然对于漏洞的识别来说它并没有任何的作用,但是一个规范良好的detail是方便双方的存在,同时,一些必要的信息输出也有利于使用者对漏洞后续的操作

detail在代码中的体现是一个结构体,并不是一个Map。一般来说,detail本身必须被声明,且内部需要我们进行填写的只有`author``links`两项

但如果有一些信息需要被输出的时候,就需要关注一下当前的插件有哪些内容需要被输出

## 完整字段

```yaml
detail:
author: # 作者(个人主页)
links:
- # 参考链接
- # 可以是多个链接
warning: # 一些警告信息,也就是该poc可能会产生的问题,比如产生脏数据等
description: # 对该poc/漏洞的描述
fingerprint: # 当该插件为指纹插件时才需要填写,且一般会自动生成
id: # 指纹库id,一般自动生成,可以不用填写
name: # 通用名称,一般自动生成,可以不用填写
version: '{{version}}' # 用来接收指纹插件匹配到的版本信息,一般直接用这样的固定格式即可,会自动将output中匹配到的内容渲染过来
cpe: # 输出该指纹对应的产品的cpe,一般自动生成,可以不用填写
xxxx: # 一些希望被输出的内容,输出时,xxxx就是字段名称,后面就是输出值
vulnerability: # 当该插件为漏洞插件且需要输出一些内容时才需要填写,且一般会自动生成
id: # 漏洞库id,一般自动生成,可以不用填写
level: # 漏洞危害等级,一般自动根据漏洞信息生成,可以不用填写
match: # 一些证明漏洞存在的信息,比如信息泄露泄露的一些敏感数据等
xxxx: # 一些希望被输出的内容,输出时,xxxx就是字段名称,后面就是输出值
```
## 检测“用户注册”相关问题
在检测漏洞的时候,可能会有注册用户然后利用的行为,或者验证一些任意用户注册漏洞的时候,我们要求,需要将创建的用户的用户名和密码输出,便于后续会脏数据的处理
此时就需要在vulnerability中添加额外的字段来记录这些内容,大概可以写成下述样例:
```yaml
detail:
author: test
links:
- https://test.com
vulnerability:
user: '{{user}}'
passwd: '{{passwd}}'
```
!> 需要注意,因为username和password在内部是保留字段,如果使用这两个作为key,会出现一些冲突,所以建议使用样例中的字段进行输出
## 关于author
author就是作者的名称,一般来说这个内容是根据我们个人的意愿进行填写的,当私人使用时可以填写任何内容。但是当提交到平台且被收录后公用的时候,这个内容是会展示到我们的漏洞报告中去的(命令行界面中红色输出部分就有这些内容),为了统一规范与避免推广滥用,我们要求
- author中的名称必须是编写者本人的昵称,需要与提交站点上提交人相对应
- 如果想补充个人链接,名称后可以使用`()`包裹个人的github等链接内容,不建议填入本人的博客地址等内容
- 如果想补充个人链接,名称后可以使用`()`包裹个人的github等链接内容

## 关于links (optional)

Expand Down
70 changes: 20 additions & 50 deletions guide/yaml/yaml_script_v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,57 +310,27 @@ rules:

该字段用于定义一些和脚本相关的信息。

目前主要定义了一下几个部分:

**注**:其中支持变量渲染,形如 `{{version}}`, 其中变量为 set 或者 rule output 中定义的变量

```yaml
detail:
author: name(link)
author: # 作者(个人主页)
links:
- http://example.com
warning: "警告信息"
# 指纹信息
fingerprint:
infos:
- id: "长亭指纹库 id"
name: "SSH"
version: '{{version}}'
type: "system_bin"
confidence: 70
host_info:
hostname: "test"
# 漏洞信息
vulnerability:
id: "长亭漏洞库 id"
match: "证明漏洞存在的信息"
# 其它字段
cve: "CVE-2020-1234"
# 其它未明确定义的字段
summary: "test"
- # 参考链接
- # 可以是多个链接
warning: # 一些警告信息,也就是该poc可能会产生的问题,比如产生脏数据,创建了一个临时文件无法删除,创建了一个账户等
description: # 对该poc/漏洞的描述
fingerprint: # 当该插件为指纹插件时才需要填写,且一般会自动生成
id: # 指纹库id,一般自动生成,可以不用填写
name: # 通用名称,一般自动生成,可以不用填写
version: '{{version}}' # 用来接收指纹插件匹配到的版本信息,一般直接用这样的固定格式即可,会自动将output中匹配到的内容渲染过来
cpe: # 输出该指纹对应的产品的cpe,一般自动生成,可以不用填写
xxxx: # 一些希望被输出的内容,输出时,xxxx就是字段名称,后面就是输出值
vulnerability: # 当该插件为漏洞插件且需要输出一些内容时才需要填写,且一般会自动生成
id: # 漏洞库id,一般自动生成,可以不用填写
level: # 漏洞危害等级,一般自动根据漏洞信息生成,可以不用填写
match: # 一些证明漏洞存在的信息,比如信息泄露泄露的一些敏感数据等
xxxx: # 一些希望被输出的内容,输出时,xxxx就是字段名称,后面就是输出值
```

目前主要定义了一下几个部分:

**注**:其中支持变量渲染,形如 `{{variable}}`, 其中变量为 set 或者 rule output 中定义的变量

- `author: string` 作者
- `links: []string` 相关链接
- `warning: string` 警告信息
- `fingerprint` 指纹信息
- `infos: []Info` 指纹信息
- `id: string` 长亭指纹库 ID
- `name: string` 名称
- `version: string` 版本号
- `type: string` 指纹类型,有以下可选值: `operating_system`, `hardware`, `system_bin`, `web_application`, `dependency`
- `confidence: int` 取值范围(1-100)
- `host_info` 主机信息
- `hostname: string` 主机名
- `vulnerability` 漏洞信息
- `id: string` 长亭漏洞库 ID
- `match: string` 证明漏洞存在的一些信息
- 额外字段
- 额外字段

warning信息是在这个poc可能会产生某些问题的情况下,对使用者做出提示的字段,例如创建了一个临时文件无法删除,创建了一个账户等


其中author后面跟的link可以填写自己的博客,github主页等信息,也可以不填写。
而links则是填写这个poc的来源地址,或者这个漏洞的相关描述等,方便审核人员审核,也方便扫描出该漏洞的师傅去复现,修复漏洞。
所以在审核的时候,如果链接出现问题,我们也将不会通过。

0 comments on commit faff690

Please sign in to comment.