nuclei配合burpsuite快速生成POC
简介
Nuclei是一款基于YAML语法模板的开发的定制化快速漏洞扫描器。它使用Go语言开发,具有很强的可配置性、可扩展性和易用性
官网:https://nuclei.projectdiscovery.io
 Nuclei项目地址:https://github.com/projectdiscovery/nuclei
 Nuclei-Templates项目地址:https://github.com/projectdiscovery/nuclei-templates
使用
1、bp插件下载,并加载到burpsuite
https://github.com/projectdiscovery/nuclei-burp-plugin
2、以下步骤以CVE-2023-23752为例
3、使用burpsuite抓包

4、点击execute进行运行调试
 
5、增加判断特征
 
 
6、添加到本地nuclei-templates
7、运行,-t 是指定POC目录
 
 8、参考语法如下
id
id是扫描模版的唯一标识,有cve、cnvd可以以cve id或是cnvd id命名。另外不能带空格。
info
info主要写基本信息,名称name、作者author、漏洞级别severity、出处reference等等。
requests
raw需要原始http请求,body里的{{username}}和{{password}}对应payloads里的字段,即发送请求时会填入字段值,即实际请求为userName=admin&password=123456。
payloads
匹配参数可以是特定的参数,也可以是path文件路径,用于Fuzz。
attack即攻击类型,有batteringram、pitchfork、clusterbomb,同burp Intruder。
batteringram:使用同一字典,将所有标记字段同时替换。如用户名和密码相同:
    userName={{key}}&password={{key}}
    payloads:
      key:
        - admin
    attack: batteringram
pitchfork:每个标记字段单独设置字典,按照一一对应的关系进行组合。如存在多个用户名密码,并且一一对应:
userName={{username}}&password={{password}}
payloads:
username:
- admin
- root
password:
- admin123
- password
attack: pitchfork
clusterbomb:使用穷举法,对每个标记字段都遍历字典。如针对特定用户名进行爆破的情况:
 userName={{username}}&password={{password}}
      payloads:
        username:
          - admin
          - root
        password:
          - password
          - toor
          - default
          - 123456789
      attack: clusterbomb
matcher
匹配器,主要用于设置匹配条件。
matchers-condition用于多个匹配条件的关联,and即需要满足所有匹配条件,or则是满足其中一个条件就算是true。
type里word即关键字匹配
part用于限制匹配的位置。
status匹配状态码。


















