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

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

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

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

工具目录

分类

查看所有分类
Loading categories
gha-lab-e4a85583c3 — 安全研究实验室,复现 CVE-2020-36762(GHSA-h9gr-83jq-f3xc):在 ONSdigital/ras-collection-instrument 的评论工作流中,通过 github.event.comment.body 实现 bash 命令注入。 | Kitploit
工具/GitHubGitHub/pvharmo2/gha-lab-e4a85583c3
漏洞分析漏洞利用学习与教育精选资源
GitHubpvharmo2/gha-lab-e4a85583c3

gha-lab-e4a85583c3

安全研究实验室,复现 CVE-2020-36762(GHSA-h9gr-83jq-f3xc):在 ONSdigital/ras-collection-instrument 的评论工作流中,通过 github.event.comment.body 实现 bash 命令注入。

查看仓库
6小时49分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

自动化研究产物 — 非上游项目。

本仓库是由自动化工具链为拉瓦尔大学(Université Laval)硕士论文构建的一次性实验环境,用于复现已发表的 GitHub Actions 工作流漏洞。它是 ONSdigital/ras-collection-instrument 在提交 493dc3d7c85f39c44e879941df9d5682865da109(2020-12-03)时的逐字快照,依据该项目自身的许可证重新分发,该许可证文件已原样包含在本快照中。

上游项目未参与其中,也从未成为攻击目标,此处研究的漏洞已公开。本仓库中的每个密钥和变量均为随机生成的虚拟值——不存在任何真实凭据。操作引用和运行器镜像均固定为 2020-12-03 时解析到的版本;有关对快照所做的所有更改,请参阅工具链输出中的 pinning.md。

如有疑问或异议:[email protected]


RAS Collection Instrument

Build Status Codacy Badge

概述

这是 RAS Collection Instrument 微服务,负责上传采集练习(collection exercises)和采集工具(collection instruments)。它还可用于将采集工具下载为 .xlsx 文件,并支持通过搜索过滤器查找采集工具。 该服务能够将采集练习与采集工具进行关联和解除关联。练习与工具之间是一对多的关系,因此一个采集练习可以拥有多个采集工具。 JSON schema 中的每个采集工具都包含样本单元引用、类型和摘要 ID,以及附加属性。 该服务主要与采集练习服务通信,同时也与 party、case 和 survey 服务交互。 有关采集工具的日志信息会发送到 rabbitmq。

采集工具存储在一个 instrument 表中,包含以下字段:

type = 采集练习的类型(即 SEFT、EQ 等) instrument_id = 工具的 UUID stamp = 采集工具创建时的时间戳 survey_id = 关联调查的 UUID classifiers = 调查分类器 survey = 调查本身 seft_file = 工具的 seft 文件

存在三个不同的端点视图:/collectioninstrument,用于大多数端点,以及 /survey_responses 和 /info。

当为采集练习上传采集工具时,它会向 rm-collection-exercise 服务的 Seft.Instruments 队列写入一条消息。 当上传 SEFT 调查响应时,它会向 sdx-seft-consumer 服务的 Seft.Responses 队列写入一条消息。

环境

这需要安装 pipenv:

root@kitploit:~
pip install pipenv

测试

要运行测试,需要 rabbitmq 和数据库服务器。tox 脚本会在 Docker 容器内创建并运行这些依赖项,单元测试运行后会销毁这些容器。

root@kitploit:~
pipenv install --dev
pipenv run tox

使用所需依赖项运行服务:

root@kitploit:~
docker-compose up -d db rabbitmq
pipenv run python run.py

测试服务是否已启动:

root@kitploit:~
curl http://localhost:8082/info

启动应用程序时会自动创建数据库。

Docker

要在 Docker 容器中运行服务,包含一个 Compose 脚本:

root@kitploit:~
docker-compose up -d

配置

可用于配置的环境变量如下所列:

环境变量描述默认值
MAX_UPLOAD_FILE_NAME_LENGTH文件名的最大长度50
LOGGING_LEVEL日志记录器级别INFO
JSON_SECRET_KEYS密钥的 Json 表示形式None
ONS_CRYPTOKEYCryptographer 使用的密钥None
SECURITY_USER_NAME客户端用于与其他 API 进行身份验证的用户名admin
SECURITY_USER_PASSWORD客户端用于与其他 API 进行身份验证的密码secret
COLLECTION_EXERCISE_SCHEMA采集工具 schema 的位置application/schemas/collection_instrument_schema.json
CASE_URLcase 服务的 URL'http://localhost:8171'
COLLECTION_EXERCISE_URL采集练习服务的 URL'http://localhost:8145'
SURVEY_SERVICE_URLsurvey 服务的 URL'http://localhost:8080'
PARTY_URLparty 服务的 URL'http://localhost:8081'
RABBITMQ_AMQP_COLLECTION_INSTRUMENTrabbitmq 的 URINone
RABBITMQ_AMQP_SURVEY_RESPONSErabbitmq 的 URINone

这些在 config.py 中设置

上传测试采集工具

导航到 /developer_scripts 并运行 import.py,在命令行中回答提示

改进建议

  • collection_instrument_schema 有两个看似相同的属性字段:formType 和 formtype。
  • 关于上一点,schema 中的许多属性名称和用途不明确,例如 entname1/2/3 和 runame1/2/3 等。应重新设计 schema,或提供更具体的文档。
  • 有几个端点的功能相当无用。例如,所有 /collectioninstrument/count 端点所做的只是返回采集工具的数量。为什么服务需要做这件事?难道不能通过数据库查询来完成吗?
  • 鉴于该服务对采集练习的严重依赖,在 ras-rm 重新设计期间,能否将该服务与采集练习服务合并?
下载工具