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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/dinosn/cve-2025-13673
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubdinosn/cve-2025-13673

CVE-2025-13673

CVE-2025-13673: Tutor LMS SQLインジェクション PoC + Dockerラボ

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-13673 — Tutor LMS SQLインジェクションラボ

WordPressプラグインTutor LMS (<= 3.9.6) における、coupon_codeパラメータ経由の未認証SQLインジェクション

クイックスタート

root@kitploit:~
# 1. Clone and start the lab
git clone https://github.com/dinosn/CVE-2025-13673.git
cd CVE-2025-13673
./setup.sh            # Deploys WordPress + Tutor LMS 3.9.3

# 2. Run the exploit
pip install requests   # only dependency

# Unauthenticated (time-based blind — no credentials needed)
python3 exploit.py http://localhost:8080

# Authenticated (UNION-based — instant extraction)
python3 exploit.py http://localhost:8080 -u testuser -p test123 --all

脆弱性の詳細

フィールド値
CVECVE-2025-13673
影響を受けるバージョンTutor LMS <= 3.9.6
修正バージョン3.9.7
タイプSQLインジェクション (CWE-89)
CVSS7.5 / 9.3
認証不要(ブラインド)/ 購読者(UNION)

根本原因

QueryHelper::prepare_where_clause() は、SQLのWHERE句を生の文字列連結で構築します:

root@kitploit:~
// helpers/QueryHelper.php — VULNERABLE
$value = is_numeric( $value ) ? $value : "'" . $value . "'";

エスケープ処理がありません。シングルクォートでリテラルを抜け出し、任意のSQLが許可されます。

攻撃ベクトル

未認証: POST / に tutor_action=tutor_pay_now を付けて送信します。WordPressの init フックはこれをすべての訪問者に対してディスパッチします。_tutor_nonce はすべてのフロントエンドページに埋め込まれ、匿名セッションでも有効です。SLEEP() によるデータ抽出。

購読者以上: POST /wp-admin/admin-ajax.php に action=tutor_apply_coupon を付けて送信します。インジェクトされたUNION SELECTデータを含むJSONが返され、レスポンスに反映された2つのカラムから即座に抽出できます。

パッチ (3.9.7)

root@kitploit:~
- $val = is_numeric( $val ) ? $val : "'" . $val . "'";
+ // Value now passed through $wpdb->prepare('%s', $value)

エクスプロイトの使用法

root@kitploit:~
usage: exploit.py [-h] [-u USERNAME] [-p PASSWORD] [--course-id COURSE_ID]
                  [--dump-users] [--db-info] [--options] [--all]
                  [--delay DELAY]
                  url

モード:
  デフォルト(-u/-pなし):未認証の時間ベースブラインドSQLi
  -u/-pあり:認証されたUNIONベース(高速)

例:
  exploit.py http://target                            # 未認証ブラインド
  exploit.py http://target -u student -p pass --all   # 認証UNION

異なるバージョンのテスト

root@kitploit:~
# Test version 3.9.5 (has esc_sql partial mitigation)
./setup.sh 3.9.5

# Test version 3.9.7 (should be fixed)
./setup.sh 3.9.7

ファイル

ファイル説明
exploit.pyデュアルモードPoC:未認証ブラインド + 認証UNION
setup.shワンコマンドラボデプロイ
docker-compose.ymlWordPress 6.7 + MySQL 8.0

参考文献

  • Wordfence勧告
  • Patchstack勧告

免責事項

許可されたセキュリティテストおよび教育目的のみに使用してください。

ツールをダウンロード