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コマンドインジェクション

リポジトリを見る
16時間54分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

自動生成された研究アーティファクト — 上流プロジェクトではありません。

このリポジトリは、公開されている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)と調査票(instruments)のアップロードを担当します。また、収集調査票を.xlsxファイルとしてダウンロードするためにも使用でき、検索フィルターによる収集調査票の検索も可能です。 このサービスには、収集演習と収集調査票をリンクおよびリンク解除する機能があります。演習と調査票の関係は一対多であり、1つの収集演習に複数の収集調査票を関連付けることができます。 JSONスキーマ内の各収集調査票には、サンプル単位参照、タイプ、サマリーIDに加えて、追加の属性があります。 このサービスは主に収集演習サービスと通信し、その他にパーティ(party)、ケース(case)、および調査(survey)サービスとも通信します。 収集調査票に関するログ情報はrabbitmqに送信されます。

収集調査票は、以下のフィールドを持つinstrumentテーブルに格納されます:

type = 収集演習のタイプ(例: SEFT、EQなど) instrument_id = 調査票のUUID stamp = 収集調査票が作成された時刻を示すタイムスタンプ survey_id = 関連する調査のUUID classifiers = 調査の分類子 survey = 調査自体 seft_file = 調査票のseftファイル

3つの異なるエンドポイントビューが存在します: /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収集調査票スキーマの場所application/schemas/collection_instrument_schema.json
CASE_URLケースサービスのURL'http://localhost:8171'
COLLECTION_EXERCISE_URL収集演習サービスのURL'http://localhost:8145'
SURVEY_SERVICE_URL調査サービスのURL'http://localhost:8080'
PARTY_URLパーティサービスの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 という一見同一に見える2つの属性フィールドがあります。
  • 前の点に関連して、スキーマ内の属性の多くは、entname1/2/3 や runame1/2/3 など、名前と目的が不明瞭です。スキーマは再設計されるか、より具体的なドキュメントを持つべきです。
  • いくつかのエンドポイントには、ほぼ役に立たない機能があります。たとえば、/collectioninstrument/count エンドポイントは、収集調査票の数を返すだけです。なぜサービスがこれを行う必要があるのでしょうか?これはデータベースクエリで実現できないのでしょうか?
  • サービスが収集演習に大きく依存していることを考えると、ras-rm再設計の際にこのサービスを収集演習サービスと統合できないでしょうか?
ツールをダウンロード