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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-11551-PoC — CVE-2026-11551에 대한 개념 증명 익스플로잇, WordPress용 Branda White Label 플러그인의 인증되지 않은 권한 상승 취약점으로, 이중 비밀번호 해싱을 통한 계정 탈취를 가능하게 합니다. | Kitploit
도구/GitHubGitHub/ubaydev/cve-2026-11551-poc
Privilege EscalationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAuthentication
GitHububaydev/cve-2026-11551-poc

CVE-2026-11551-PoC

CVE-2026-11551에 대한 개념 증명 익스플로잇, WordPress용 Branda White Label 플러그인의 인증되지 않은 권한 상승 취약점으로, 이중 비밀번호 해싱을 통한 계정 탈취를 가능하게 합니다.

저장소 보기
12개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-11551 - White Label & Branding, Free Login Page Customizer에서의 인증되지 않은 권한 상승

White Label & Branding, Free Login Page Customizer <= 3.4.29 - 계정 탈취를 통한 인증되지 않은 권한 상승

WordPress Core → Branda 필터의 전체 흐름:

root@kitploit:~
wp_update_user( $userdata )
    │
    ├── wp_hash_password( $userdata['user_pass'] )   ← Line 2709: SUDAH DI-HASH
    │
    └── wp_insert_user( $userdata )
            │
            ├── $user_pass = $userdata['user_pass']  ← Line 2228: HASHED
            │
            ├── $data = compact('user_pass', ...)    ← Line 2469: HASHED
            │
            ├── apply_filters('wp_pre_inserter_id)
            │       │
            │       └── Branda: pre_insert_u
            │               │
            │               ├── query wp_sig['user_login']
            │               ├── if meta['pas
            │               │   $data['user_ta['password'])
            │               │                                        ↑
            │                           ┌───
            │                           │
            │                           ↓
            │               DOUBLE HASH: wp_d($raw))
            │
            └── $wpdb->update( $wpdb->users, $data, ... )  ← Line 2515: DOUBLE HASH TERSIMPAN

취약한 코드 (inc/modules/login-screen/signup-password.php:230-251)

root@kitploit:~
/**
 * BRANDA - signup-password.php
 * Filter: wp_pre_insert_user_data
 */
public function pre_insert_user_data( $data,
    // ❌ TIDAK ADA CEK: if ($update) return
    // ❌ Filter ini JALAN untuk INSERT DAN

    if ( is_multisite() ) {
        global $wpdb;

        // ❌ $data['user_login'] dari POST n edit user
        $query = $wpdb->prepare(
            "SELECT meta FROM {$wpdb->signup
            $data['user_login']  // ← bisa diubah attacker
        );
        $result = $wpdb->get_var( $query );
        $meta   = maybe_unserialize( $result

        if ( is_array( $meta ) && isset( $me
            // ❌ DOUBLE HASH: WordPress SUDAH hash sebelum filter ini jalan
            // $meta['password'] = "mysecret
            // wp_hash_password("mysecretpasama dari WP core)
            // wp_hash_password("$P$Bxyz..."dari Branda)
            $data['user_pass'] = wp_hash_pas

            unset( $meta['password'] );
            $wpdb->update(
                $wpdb->signups,
                array( 'meta' => maybe_seria
                array( 'user_login' => $data
            );
        }
        return $data;
    }
    // ...
}

취약점을 유발하는 WordPress Core 코드:

  1. wp_update_user() — Line 2706-2709
root@kitploit:~
// wp-includes/user.php:2706
if ( ! empty( $userdata['user_pass'] ) && $u_user_data->user_pass ) {
    $plaintext_pass        = $userdata['user
    $userdata['user_pass'] = wp_hash_passwor // ← HASH #1
}
  1. wp_insert_user() — Line 2228
root@kitploit:~
// wp-includes/user.php:2228 (UPDATE path)
$user_pass = ! empty( $userdata['user_pass'] $old_user_data->user_pass;
// $user_pass sekarang = "$P$Bxyz...SUDAH HASH"
  1. wp_insert_user() — Line 2505
root@kitploit:~
// wp-includes/user.php:2505
$data = apply_filters( 'wp_pre_insert_user_dd, $userdata );
// Branda filter jalan, $data['user_pass'] SUDAH HASH dari line 2228

공격 시나리오: 관리자를 통한 계정 탈취

설정

  1. Branda Signup이 활성화된 멀티사이트 WordPress
  2. wp_signups에 대기 중인 가입(signup)이 있음:
root@kitploit:~
   ┌─────────────┬──────────────────────────┐
   │ user_login   │ meta (serialized)       │
   ├─────────────┼──────────────────────────│
   │ victim_user  │ a:1:{s:8:"password";s:10:"H4cker123!"}│
   └─────────────┴──────────────────────────┴
  1. 대상: "admin_user" 사용자 (ID=2), Administrator 역할

익스플로잇 흐름

STEP 1: 공격자가 WP-Admin에 로그인 (웹 또는 CSRF 악용으로 관리자 작업 트리거 가능)

STEP 2: 공격자가 /wp-admin/user-edit.php 열기 (admin_user 편집)

STEP 3: 공격자가 admin_user의 user_login을 "victim_user"로 변경

root@kitploit:~
        ┌────────────────────────────────────────────┐
        │ Field: username                            │
        │ Value: victim_user  ← DIUBAH               │
        └────────────────────────────────────────────┴

STEP 4: 양식 제출 → wp_update_user() 호출

STEP 5: WordPress Core 흐름:

root@kitploit:~
        wp_update_user({ID: 2, user_login: "victim_user", ...})
            │
            ├── user_pass = wp_hash_password(old_password)  ← HASH #1
            │
            └── wp_insert_user({ID: 2, user_login: "victim_user", user_pass: "$P$Bhash1"})
                    │
                    └── apply_filters('wp_pre_insert_user_data', $data, true, 2)
                            │
                            └── Branda: pre_insert_user_data()
                                    │
                                    ├── $data['user_login'] = "victim_user"
                                    │
                                    ├── SELECT meta FROM wp_signups WHERE user_login = "victim_user"
                                    │   → meta = 'a:1:{s:8:"password";s:10:"H4cker123!"}'
                                    │
                                    ├── $meta['password'] = "H4cker123!"
                                    │
                                    └── $datword("H4cker123!")
                                             ← HASH #2 (DOUBLE!)

STEP 6: wp_users 테이블 업데이트됨:

root@kitploit:~
        ┌────┬────────────┬──────────────────────────────────┐
        │ ID │ user_login │ user_pass                        │
        ├────┼────────────┼──────────────────────────────────┤
        │ 2  │ victim_user│ $P$Bhash2  ← DOUBLE HASH!        │
        └────┴────────────┴──────────────────────────────────┴

STEP 7: Admin_user 현재 상태:

  • 사용자 이름: victim_user
  • 비밀번호: H4cker123! 하지만 2회 해시됨
  • 로그인 실패! → 계정 잠김

STEP 8: 한편, 공격자는 가능:

  • 메타가 정리되지 않은 경우 가입 자격 증명으로 로그인
  • 또는 동일한 user_login으로 다시 가입

참조:

  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/trunk/inc/modules/login-screen/signup-password.php?rev=3429115#L232
  • https://plugins.trac.wordpress.org/browser/branda-white-labeling/tags/3.4.29/inc/modules/login-screen/signup-password.php#L232
  • https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/branda-white-labeling/branda-white-label-branding-free-login-page-customizer-3429-unauthenticated-privilege-escalation-via-account-takeover
도구 다운로드