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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-3460 — CVE-2023-3460 | Kitploit
도구/GitHubGitHub/emadyay/cve-2023-3460
Privilege EscalationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingAuthentication
GitHubemadyay/cve-2023-3460

CVE-2023-3460

CVE-2023-3460

저장소 보기
3년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-3460 - Ultimate Member 플러그인 POC의 무단 관리자 액세스

CVSS 점수: 9.1

날짜: 07/04/2023

ultimate member 플러그인이란?

Ultimate member 플러그인은 사용자 등록을 위한 인기 있는 멤버십 플러그인으로, 200,000개 이상의 활성 설치를 보유하고 있습니다.

Alt text

빠른 확인

7월 7일 Ultimate member 플러그인에서 치명적인 취약점이 발견되었습니다. 공격자는 권한 상승 기술을 사용하여 관리자 계정을 만들 수 있으며, 이로 인해 WordPress 웹사이트를 장악할 수 있습니다.

그렇다면 익스플로잇은 어떻게 작동할까요?

WordPress의 Roles and Capabilities를 살펴보면 사용자가 가질 수 있는 역할이 꽤 많습니다. , , , , , 등이 있습니다. 그렇다면 어떻게 관리자 권한을 얻을 수 있을까요? 먼저 ultimate member 플러그인이 어떻게 작동하는지 살펴보겠습니다. 먼저 플러그인이 제대로 작동하도록 구성해야 하므로 섹션에 몇 개의 페이지를 만든 다음 해당 페이지를 Ultimate member > setting에 연결해야 합니다. 그 후에는 새 역할을 만들거나 ultimate member가 제공하는 기본 역할을 사용할 수 있습니다.

Alt text

이제 작동하는 플러그인이 준비되었습니다. 이제 실제로 백엔드에서 어떻게 작동하는지 살펴보겠습니다. Subscriber 역할을 가진 일반 사용자를 등록했고, mysql의 wp_usermeta 테이블을 살펴보면 wp_capabilities 값이 직렬화된 배열로 설정되어 있으며, 여기서 우리의 역할(이 경우 Subscriber)이 정의되는 것을 볼 수 있습니다.

Alt text

그렇다면 wp_capabilities의 값을 어떻게 변경할 수 있을까요? 등록할 때 POST 요청에 wp_capabilities를 매개변수로 전달하면 됩니다. 다음과 같이 말이죠.

Alt text

하지만 여기서 끝이 아닙니다. is_metakey_banned라는 함수가 있는데, 이 함수는 "cap_key", "wp_capabilities", "wp_user_level", "user_activation_key" 등 몇 가지 값을 확인합니다. 우리가 관심 있는 것은 wp_capabilities이지만, 요청 본문에 이 값을 포함하면 역할을 변경하지 못하도록 break를 만나게 됩니다.

Alt text

여기서부터 몇 가지 다른 디코딩 유형을 시도해 볼 수 있지만 작동하지 않습니다. 한동안 연구하고 AI의 도움을 약간 받은 끝에 WordPress가 기본적으로 à, è, ì, ò, ù, À, È, Ì, Ò, Ù 같은 악센트 문자를 허용한다는 것을 발견했습니다. 이제 요청 본문에 wp_càpabilities=administrator 같은 식으로 이 문자를 사용하면 어떻게 될까요? class-user.php의 182행에 있는 중단점에 도달하지 않으며 is_metakey_banned 함수를 우회할 수 있습니다.

Alt text

mysql을 확인하면 값을 변경할 수 있음을 알 수 있습니다.

Alt text

하지만 우리는 관리자가 아닙니다. 사실 우리에게는 아무런 역할도 없습니다.

Alt text

우리는 분명히 무언가를 했지만, 관리자가 되려면 관리자의 정확히 동일한 값, 즉 a:1:{s:13:"administrator";b:1;} 같은 값이 필요합니다. 이제 그것을 시도해서 매개변수에 직접 전달해 봅시다.

Alt text

다시 mysql을 확인해 보면 wp_capabilities 값을 설정했지만 우리가 기대한 것은 아닙니다.

Alt text

우리의 값을 가져와 직렬화된 문자열로 바뀌었습니다. 하지만 관리자의 wp_capabilities를 살펴보면 직렬화된 배열이라는 것을 알 수 있습니다. 그것이 우리가 원하는 것입니다. WordPress에는 자체 직렬화가 있으므로 이를 사용하여 값을 배열로 전달할 수 있고 나머지는 WordPress가 처리합니다. 따라서 우리의 페이로드는 wp_càpabilities[administrator]=1처럼 보입니다.

Alt text

마지막으로 wp_capabilities의 값이 a:1:{s:13:"administrator";s:1:"1";}로 변경된 것을 볼 수 있으며, 이제 관리자로 로그인할 수 있습니다.

Alt text

그리고 이제 관리자로 로그인할 수 있습니다.

Alt text

도구 다운로드
Super Admin
Administrator
Editor
Author
Contributor
Contributor
Pages