Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-57821-PoC-Exploit — 🔐 CVE-2026-57821 - Apache Fineract SQLインジェクションツールキット 📚 認可されたセキュリティテスト用の2つのPythonスクリプト: verifier.py (安全な検出、抽出なし) と exploit.py (深層分析)。11種類のDBタイプに対応。SQLインジェクションの脆弱性を理解するのに最適。合法的なテストのみ ⚠️ 教育・研究目的専用。 | Kitploit
ツール/GitHubGitHub/tc4dy/cve-2026-57821-poc-exploit
静的分析脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育データベースセキュリティ

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
GitHub
tc4dy/cve-2026-57821-poc-exploit

CVE-2026-57821-PoC-Exploit

🔐 CVE-2026-57821 - Apache Fineract SQLインジェクションツールキット 📚 認可されたセキュリティテスト用の2つのPythonスクリプト: verifier.py (安全な検出、抽出なし) と exploit.py (深層分析)。11種類のDBタイプに対応。SQLインジェクションの脆弱性を理解するのに最適。合法的なテストのみ ⚠️ 教育・研究目的専用。

リポジトリを見る
3406日前未レビュー
共有

CVE-Picture

CVE-2026-57821 – Apache Fineract SQLインジェクション

法的・倫理的注意事項
このツールキットは教育、トレーニング、および許可されたセキュリティテストの目的に限定して提供されています。
明示的な書面による許可なく、いかなるシステムに対して不正使用することは違法であり、コンピュータ犯罪法に違反します。
作者は不正使用や損害に対して一切の責任を負いません。
あなたの行動に対する責任はすべてあなた自身にあります。


脆弱性の概要

CVE-2026-57821 は、Apache Fineractのオフィス一覧取得APIエンドポイントで発見されたSQLインジェクションの脆弱性です。

影響を受けるコンポーネント

属性詳細
エンドポイント/api/v1/offices
パラメータorderBy
メソッドGET
認証の要否必要(認証済みユーザーのみ)
影響を受けるバージョンApache Fineract ≤ 1.14.0
修正済みバージョンApache Fineract 1.15.0

仕組み

この脆弱性は、orderBy パラメータが適切なサニタイズなしにSQLクエリへ直接埋め込まれるために存在します。有効な認証情報を持つ攻撃者は、括弧 () で囲んだサブクエリを orderBy パラメータにインジェクションできます。

これが以前の修正を回避できる理由:

  • CVE-2024-32838 では ORDER BY 句をサニタイズするための ColumnValidator が導入された
  • このバリデータは括弧内の裸のサブクエリを検出できない
  • これにより ORDER BY コンテキスト内で任意のSQLを実行できる

攻撃ベクトルの例:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

潜在的な影響

影響説明
データ窃取時間ベースのブラインドSQLインジェクションにより、機密性の高いデータベース内容を抽出できる
サービス拒否負荷の高いクエリにより接続プールのリソースを枯渇させることができる
情報漏洩エラーベースの手法によりデータベース構造やデータを明らかにできる

発見と開示

属性詳細
発見者 / 報告者Terence Monteiro(Apache Fineractチーム)
公開開示日2026年7月14日
修正済みバージョンApache Fineract 1.15.0
公式アナウンスApache Mailing List
GitHub修正PR #6048

対応データベースシステム

このツールキットは、11種類の異なるデータベースバックエンドに対してエクスプロイト手法を自動的に検出・適応します:

データベース検出方法エクスプロイト手法
PostgreSQL時間ベース(pg_sleep)時間ベースブラインド
MySQL時間ベース(SLEEP)時間ベースブラインド
MariaDB時間ベース + @@version_comment時間ベースブラインド
MSSQLエラーベース(CONVERT 失敗)エラーベース
Oracle時間ベース(DBMS_LOCK.SLEEP)時間ベースブラインド
SQLite重いクエリ(直積結合)時間ベース(重いクエリ)
Firebird重いクエリ(直積結合)時間ベース(重いクエリ)
DB2重いクエリ(直積結合)時間ベース(重いクエリ)
Informix重いクエリ(直積結合)時間ベース(重いクエリ)
H2重いクエリ(直積結合)時間ベース(重いクエリ)
不明(汎用)PostgreSQLへのフォールバック時間ベース

ツールキットの構成

このプロジェクトは、異なるセキュリティ評価シナリオ向けに2つのPythonスクリプトを提供します:

verifier.py – 安全で最小限の検証ツール

目的: データを抽出せずに、脆弱性の存在を迅速に証明します。

動作内容:

  • データベース固有のテストペイロードを送信する
  • 時間遅延またはエラーメッセージを検出する
  • データベースの種類ごとに VULNERABLE または NOT VULNERABLE を報告する
  • いかなるデータも窃取しません

利点:

  • 非常に高速(数秒で完了)
  • 法的リスクが低い(存在を検証するのみ)
  • 初期のセキュリティスキャンに最適
  • コンプライアンス向けのレポートに適した出力

ユースケース: 対象が脆弱かどうかを判断するための初回評価。

exploit.py – 包括的なセキュリティアナライザー

目的: 脆弱性を完全に悪用してデータベース情報を抽出します。

動作内容:

  • データベースの種類を自動検出
  • バイナリサーチを使用して1文字ずつ抽出
  • 取得対象: バージョン、現在のユーザー、データベース名、テーブル一覧(設定可能)
  • MSSQL: エラーベースの抽出
  • その他: ベースライン調整を伴う時間ベースの抽出

利点:

  • 影響の具体的な証拠を提供
  • 脆弱性の全範囲を実証
  • 色分けされた出力による詳細なログ記録

ユースケース: 脆弱性確認後の詳細なセキュリティ分析。

主な違い: verifierPoC.pyは脆弱性があるかどうかを教えてくれますが、exploit.pyは何を抽出できるかを示します。どちらもセキュリティ評価ワークフローにおいて、異なるが補完的な役割を果たします。


インストールと設定

前提条件

  • Python 3.6+
  • requestsライブラリ
pip install requests

設定変数

両方のスクリプトの先頭で、以下の変数を編集してください:

変数説明デフォルト
TARGETFineract API URLhttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMEAPI 認証ユーザー名mifos
PASSWORDAPI 認証パスワードpassword
TENANT_IDテナント識別子default
BASE_SLEEP時間ベースのテストにおけるスリープ時間 (exploit.py)6
SLEEP_SECONDS時間ベースのテストにおけるスリープ時間 (verifier.py)5
TIMEOUTHTTP リクエストのタイムアウト25 (exploit) / 15 (verifier)
MAX_RETRIES失敗したリクエストの再試行回数2

使用ガイド

exploit.py - ディープスキャン

python3 exploit.py

Expected Output:

CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!

CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)

Interpretation: If VULNERABLE appears for any database type, the target is affected.

技術仕様

CVSS スコア 指標 値 CVSS v3.1 基本スコア 8.1 (High) ベクター CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 攻撃ベクター ネットワーク 必要な権限 低 ユーザー操作 なし EPSS スコア

0.29% (30日以内に悪用される確率)

CWE マッピング

CWE‑89: SQL コマンドで使用される特殊要素の不適切な中和 ('SQL インジェクション')

技術的詳細解説

ペイロードが機能する理由

Apache Fineract 1.14.0 の脆弱なコード:

// Simplified vulnerable logic
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // VALIDATOR FAILS FOR: "(SELECT ...)"
    // Only checks against simple column names
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Executes query with user input directly
}

攻撃者ペイロードの例:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

結果のSQL:

SELECT * FROM offices ORDER BY (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)

ColumnValidator はカラム名をチェックしますが、ネストされたサブクエリを見逃すため、任意の SQL 実行が可能になります。

緩和策

対応優先度
Apache Fineract 1.15.0+ へアップグレード緊急
PR #6048 のパッチを適用緊急
WAF ルール: (SELECT、SLEEP(、pg_sleep(、WAITFOR を含む orderBy をブロック高
ログを監視し、括弧やサブクエリのキーワードを含む orderBy を検出高
データベース接続プールの監視によりリソース枯渇を検出中
ツールをダウンロード