Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
asf__nifi_CVE-2023-34468_1-21-00 — Apache NiFi CVE-2023-34468 的利用工具,针对 1.21.0 及更早版本中的漏洞,演示数据访问和系统入侵。 | Kitploit
工具/GitHubGitHub/shoucheng3/asf__nifi_cve-2023-34468_1-21-00
漏洞分析漏洞利用数据泄露Web安全渗透测试云安全
GitHubshoucheng3/asf__nifi_cve-2023-34468_1-21-00

asf__nifi_CVE-2023-34468_1-21-00

Apache NiFi CVE-2023-34468 的利用工具,针对 1.21.0 及更早版本中的漏洞,演示数据访问和系统入侵。

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
41年前尚未审核
分享

Apache NiFi

ci-workflow system-tests Docker pulls Version Slack

Apache NiFi 是一个易于使用、功能强大且可靠的数据处理和分发系统。

目录

  • 功能特性
  • 环境要求
  • 快速入门
  • MiNiFi 子项目
  • Registry 子项目
  • 获取帮助
  • 文档
  • 许可证
  • 出口管制

功能特性

Apache NiFi 专为数据流而设计。它支持高度可配置的有向图,用于数据路由、转换和系统中介逻辑。其一些关键特性包括:

  • 基于 Web 的用户界面
    • 无缝的设计、控制和监控体验
    • 多租户用户体验
  • 高度可配置
    • 容忍丢失 vs 保证交付
    • 低延迟 vs 高吞吐量
    • 动态优先级
    • 运行时修改数据流
    • 背压机制
    • 向上扩展以充分利用机器能力
    • 通过无主节点集群模型向下扩展
  • 数据来源
    • 从头到尾追踪数据流
  • 专为扩展而设计
    • 构建自己的处理器及其他组件
    • 支持快速开发和有效测试
  • 安全性
    • SSL, SSH, HTTPS, 加密内容等
    • 可插拔的细粒度基于角色的认证/授权
    • 多个团队可以管理和共享数据流的特定部分

最低推荐

  • JDK 11.0.16
  • Apache Maven 3.8.6

最低要求

  • JDK 8 Update 251
  • Apache Maven 3.6.0

快速入门

阅读开发快速入门指南。 该指南包含获取本地源代码副本的信息,介绍问题跟踪的方法,并提供一些关于开发环境常见问题的警告。

如需更全面的开发指南以及关于为项目做贡献的信息,请阅读 NiFi 开发者指南。

构建

运行 mvn clean install 或为了并行构建执行 mvn -T 2.0C clean install。

在现代硬件上,并行构建应需要大约十五分钟。

root@kitploit:~
laptop:nifi myuser$ mvn -T 2.0C clean install
[INFO] Scanning for projects...
[INFO] Inspecting build with total of 115 modules...
    ...tens of thousands of lines elided...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 09:24 min (Wall Clock)
[INFO] Finished at: 2015-04-30T00:30:36-05:00
[INFO] Final Memory: 173M/1359M
[INFO] ------------------------------------------------------------------------

运行 mvn clean install -DskipTests 以跳过单元测试执行。

部署

切换到 nifi-assembly 目录。target 目录包含二进制归档文件。

root@kitploit:~
laptop:nifi myuser$ cd nifi-assembly
laptop:nifi-assembly myuser$ ls -lhd target/nifi*
drwxr-xr-x  3 myuser  mygroup   102B Apr 30 00:29 target/nifi-1.0.0-SNAPSHOT-bin
-rw-r--r--  1 myuser  mygroup   144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.tar.gz
-rw-r--r--  1 myuser  mygroup   144M Apr 30 00:30 target/nifi-1.0.0-SNAPSHOT-bin.zip

将 nifi-VERSION-bin.tar.gz 或 nifi-VERSION-bin.zip 复制到单独的部署目录。 解压分发版将创建一个以版本号命名的新目录。

root@kitploit:~
laptop:nifi-assembly myuser$ mkdir ~/example-nifi-deploy
laptop:nifi-assembly myuser$ tar xzf target/nifi-*-bin.tar.gz -C ~/example-nifi-deploy
laptop:nifi-assembly myuser$ ls -lh ~/example-nifi-deploy/
total 0
drwxr-xr-x  10 myuser  mygroup   340B Apr 30 01:06 nifi-1.0.0-SNAPSHOT

启动

切换到部署位置并运行以下命令以启动 NiFi。

root@kitploit:~
laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start

运行 bin/nifi.sh start 会在后台启动 NiFi 并退出。使用 --wait-for-init 并带上可选的超时时间(秒),可等待完全启动后再退出。

root@kitploit:~
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh start --wait-for-init 120

认证

默认配置会在启动时生成随机用户名和密码。NiFi 将生成的凭据写入位于 NiFi 安装目录下 logs/nifi-app.log 的应用日志中。

在安装了 grep 的操作系统上,可以使用以下命令查找生成的凭据:

root@kitploit:~
laptop:nifi-1.0.0-SNAPSHOT myuser$ grep Generated logs/nifi-app*log

NiFi 记录生成的凭据如下:

root@kitploit:~
Generated Username [USERNAME]
Generated Password [PASSWORD]

USERNAME 是一个由 36 个字符组成的随机 UUID。PASSWORD 是一个由 32 个字符组成的随机字符串。生成的凭据将存储在 conf/login-identity-providers.xml 中,密码使用 bcrypt 哈希存储。请将这些凭据记录在安全的位置,以便访问 NiFi。

可以使用以下命令将随机用户名和密码替换为自定义凭据:

root@kitploit:~
./bin/nifi.sh set-single-user-credentials <username> <password>

运行

在 Web 浏览器中打开以下链接以访问 NiFi:https://localhost:8443/nifi

由于 NiFi 在初始化期间生成了自签名证书,Web 浏览器会显示警告消息,提示潜在的安全风险。对于初始开发安装,可以选择接受潜在安全风险并继续加载界面。生产部署应从受信任的证书颁发机构获取证书,并更新 NiFi 的密钥库和信任库配置。

接受自签名证书后访问 NiFi 将显示登录界面。 NiFi 登录界面

使用生成的凭据,在 User 字段中输入生成的用户名,在 Password 字段中输入生成的密码,然后选择 LOG IN 登录系统。 NiFi 已认证数据流界面

配置

NiFi 用户指南 描述了如何构建数据流。

停止

运行以下命令以停止 NiFi:

root@kitploit:~
laptop:~ myuser$ cd ~/example-nifi-deploy/nifi-*
laptop:nifi-1.0.0-SNAPSHOT myuser$ ./bin/nifi.sh stop

MiNiFi 子项目

MiNiFi 是 Apache NiFi 的子项目。它是一种补充性的数据采集方法,补充了 NiFi 在数据流管理方面的核心理念,专注于在数据创建源头进行数据采集。

MiNiFi 的具体目标包括:

  • 小巧轻量的占用空间
  • 代理的集中管理
  • 生成数据来源
  • 与 NiFi 集成,以便进行后续数据流管理和信息的完整监管链

对 MiNiFi 角色的理解应从代理的角度出发,该代理直接或紧邻源传感器、系统或服务器运行。

运行方法:

  • 切换到 'minifi-assembly' 目录。在 target 目录中,应该有一个 minifi 的构建产物。

    root@kitploit:~
      $ cd minifi-assembly
      $ ls -lhd target/minifi*
      drwxr-xr-x  3 user  staff   102B Jul  6 13:07 minifi-1.14.0-SNAPSHOT-bin
      -rw-r--r--  1 user  staff    39M Jul  6 13:07 minifi-1.14.0-SNAPSHOT-bin.tar.gz
      -rw-r--r--  1 user  staff    39M Jul  6 13:07 minifi-1.14.0-SNAPSHOT-bin.zip
    
  • 对于持续开发的测试,你可以直接使用当前目录中已解压的构建产物,目录名为 "minifi-版本-bin",其中 版本 是当前项目版本。要部署到其他位置,可以使用 tarball 或 zipfile,并将其解压到你喜欢的任何位置。分发版将位于一个以版本号命名的公共父目录中。

    root@kitploit:~
      $ mkdir ~/example-minifi-deploy
      $ tar xzf target/minifi-*-bin.tar.gz -C ~/example-minifi-deploy
      $ ls -lh ~/example-minifi-deploy/
      total 0
      drwxr-xr-x  10 user  staff   340B Jul 6 01:06 minifi-1.14.0-SNAPSHOT
    

运行 MiNiFi:

  • 切换到 MiNiFi 的安装位置并运行。

    root@kitploit:~
      $ cd ~/example-minifi-deploy/minifi-*
      $ ./bin/minifi.sh start
    
  • 查看位于 logs 文件夹中的日志 $ tail -F ~/example-minifi-deploy/logs/minifi-app.log

  • 如需帮助构建你的第一个数据流并将数据发送到 NiFi 实例,请参阅 docs 文件夹中的 System Admin Guide,或使用 minifi-toolkit,该工具帮助将 NiFi 模板适配为 MiNiFi YAML 配置文件格式。

  • 如果你正在测试持续开发,可能需要停止实例。

    root@kitploit:~
      $ cd ~/example-minifi-deploy/minifi-*
      $ ./bin/minifi.sh stop
    

Docker 构建

构建方法:

  • 运行完整的 NiFi 构建(参见上述说明)。然后从 minifi/ 子目录执行 mvn -P docker clean install。这将运行完整构建,基于该构建创建 Docker 镜像,并运行 docker-compose 集成测试。成功完成后,你将获得一个名为 apacheminifi:${minifi.version} 的镜像,可以使用以下命令启动(将 ${minifi.version} 替换为你分支当前的 Maven 版本):
root@kitploit:~
docker run -d -v YOUR_CONFIG.YML:/opt/minifi/minifi-${minifi.version}/conf/config.yml apacheminifi:${minifi.version}

Registry 子项目

Registry——Apache NiFi 的子项目——是一个补充性应用程序,提供了一个中心位置,用于存储和管理跨一个或多个 NiFi 和/或 MiNiFi 实例的共享资源。

启动 Registry

  1. 构建 NiFi(参见 NiFi 快速入门)

或

仅构建 Registry 子项目:

root@kitploit:~
cd nifi/nifi-registry
mvn clean install

如果希望启用风格和许可证检查,请指定 contrib-check 配置文件:

root@kitploit:~
mvn clean install -Pcontrib-check

2) 启动 Registry

root@kitploit:~
cd nifi-registry/nifi-registry-assembly/target/nifi-registry-<VERSION>-bin/nifi-registry-<VERSION>/
./bin/nifi-registry.sh start

请注意,应用程序 Web 服务器需要一段时间加载后才能访问。

  1. 访问应用程序 Web UI

使用默认设置,应用程序 UI 将在 http://localhost:18080/nifi-registry 可用

  1. 访问应用程序 REST API

如果你想测试应用程序 REST API,可以直接访问它。使用默认设置,REST API 的基础 URL 为 http://localhost:18080/nifi-registry-api。用于测试 REST API 的 UI 将在 http://localhost:18080/nifi-registry-api/swagger/ui.html 可用

  1. 访问应用程序日志

日志将位于 logs/nifi-registry-app.log

数据库测试

为了确保 NiFi Registry 在不同关系数据库上正确工作,可以利用 Testcontainers 框架 针对不同数据库运行现有的集成测试。

Spring 配置文件用于控制可用的 DataSource 工厂,这些工厂会提供给 Spring 应用程序上下文。提供的 DataSource 工厂使用 Testcontainers 框架为给定数据库启动一个 Docker 容器并创建相应的 DataSource。如果未指定配置文件,则默认使用 H2 DataSource,无需 Docker 容器。

假设构建运行的系统上 Docker 正在运行,则可以运行以下命令:

有关可用 DataSource 工厂的完整列表,请参阅 nifi-registry-test 模块。

获取帮助

如果你有问题,可以联系我们的邮件列表:[email protected] (存档)。对于更多互动讨论,社区成员通常可以在以下位置找到:

  • Apache NiFi Slack 工作区:https://apachenifi.slack.com/

    新用户可以使用以下 邀请链接 加入工作区。

若要提交功能请求或错误报告,请在 https://issues.apache.org/jira/projects/NIFI/issues 上提交 Jira。如果是安全漏洞报告,请直接发送电子邮件至 [email protected],并首先查看 Apache NiFi 安全漏洞披露 和 Apache 软件基金会安全 流程。

文档

请访问 https://nifi.apache.org/ 获取最新的 NiFi 文档。

请访问 https://nifi.apache.org/minifi 和 https://cwiki.apache.org/confluence/display/MINIFI 获取最新的 MiNiFi 专用文档。

请访问 https://nifi.apache.org/registry 获取最新的 Registry 专用文档。

许可证

除非另有说明,本软件根据 Apache License, Version 2.0 许可。

根据 Apache License, Version 2.0(“许可证”)进行许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下位置获取许可证副本:

https://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,根据许可证分发的软件是按“原样”分发的, 不附带任何明示或暗示的保证或条件。 请参阅许可证以了解管理权限和限制的具体语言。

出口管制

此发行版包含加密软件。您目前所在的国家/地区可能对加密软件的进口、持有、使用和/或再出口到其他国家/地区有限制。在使用任何加密软件之前,请检查您所在国家/地区关于加密软件进口、持有、使用和再出口的法律、法规和政策,以确认是否允许。更多信息请参阅 https://www.wassenaar.org/。

美国商务部工业与安全局 (BIS) 已将此软件分类为出口管制商品编号 (ECCN) 5D002.C.1,其中包括使用或执行具有非对称算法的密码功能的信息安全软件。此 Apache 软件基金会的分发形式和方式使其有资格根据 License Exception ENC Technology Software Unrestricted (TSU) 例外(见 BIS 出口管理条例第 740.13 节)进行出口,包括目标代码和源代码。

以下提供了有关所含加密软件的更多详细信息:

Apache NiFi 使用 BouncyCastle、JCraft Inc. 以及内置的 Java 加密库来实现 SSL、SSH 和保护敏感配置参数。请参阅

  • https://bouncycastle.org/about.html
  • http://www.jcraft.com/c-info.html
  • https://www.oracle.com/corporate/security-practices/corporate/governance/global-trade-compliance.html

了解有关这些库加密功能的更多细节。

下载工具
目标数据库构建命令
所有支持的数据库mvn verify -Ptest-all-dbs
H2 (默认)mvn verify
MariaDB 10.3mvn verify -Pcontrib-check -Dspring.profiles.active=mariadb-10-3
MySQL 8mvn verify -Pcontrib-check -Dspring.profiles.active=mysql-8
PostgreSQL 10mvn verify -Dspring.profiles.active=postgres-10