Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
joomla-levels-api — Joomla 6.1.3 - 높음 - 원격 - ACL - GET /api/v1/users/levels가 view levels를 유출함 | Kitploit
도구/GitHubGitHub/abraxas/joomla-levels-api
Authentication & AuthorizationVulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingAPI SecurityLabs & Practice
GitHubabraxas/joomla-levels-api

joomla-levels-api

Joomla 6.1.3 - 높음 - 원격 - ACL - GET /api/v1/users/levels가 view levels를 유출함

저장소 보기
94일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - joomla-levels-api

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  joomla-levels-api

joomla-levels-api

분류: 권한 잔여 도달 범위: 원격

Joomla CMS 6.1.3 (0f2d4de) - Open Source Matters

관리자 Users -> Viewing Access Levels는 com_users에 대한 core.admin을 요구한다(LevelController::allowSave 및 delete). Groups 웹서비스는 이미 동일하게 동작한다(GroupsController, 6.1.1). LevelsController에는 allowAdd, allowEdit, delete 오버라이드가 없어서, ApiController가 core.manage와 core.create를 통과시킨다.

core.admin 없이 core.login.api를 부여받은 Manager 등급 API 토큰은 UI가 금지하는 viewing access level을 생성할 수 있다.

ID아직 CVE 없음
분류권한 잔여 / 인가 우회
도달 범위원격 (core.login.api가 있는 API 토큰)
CWECWE-863
CVSSMedium: 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
제품Joomla CMS
영향받는 버전6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
인증core.login.api와 com_users manage/create/edit 권한을 가진 Manager(그룹 6)용 API 토큰. core.admin 없음. 기본 core.login.api는 Super User 전용.
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용

공격자가 할 수 있는 일

비-Super-User API 토큰을 사용해 어떤 그룹이 어떤 페이지를 볼 수 있는지를 변경한다. 이 잔여 권한만으로 Super User가 되지는 않는다. 이는 사이트 탈취가 아니라 콘텐츠 가시성 제어다.

권한메서드 / 경로종류랩 입증 또는 추정
viewing access level 생성POST /api/index.php/v1/users/levels JSON title, rules (그룹 id)무결성랩 입증. HTTP 200, #__viewlevels id=7, title poc-level-JOOMLA-LEVELS-API-WITNESS
기존 level 편집 (그룹 목록 / title)PATCH /api/index.php/v1/users/levels/{id}무결성추정. 동일 컨트롤러, allowEdit 없음. 랩에서는 생성만 수행.
level 삭제DELETE /api/index.php/v1/users/levels/{id}무결성 / ACL 행의 가용성추정. 동일한 오버라이드 누락. 랩에서는 DELETE를 수행하지 않음.
회원 전용 글, 모듈, 메뉴 항목 노출rules에 Public / Guest / Registered를 포함하는 신규 또는 패치된 level정찰 (콘텐츠 가시성)#__viewlevels.rules에서 추정. 랩에서는 행을 삽입했으며, 실제 글의 ACL을 재설정하지는 않음.
Registered에서 페이지 숨기기, 또는 공격자의 그룹을 Special level에 추가동일한 PATCH / create무결성추정. 동일한 저장소.
API에서 사용자 그룹 변경POST /api/index.php/v1/users/groups해당 없음랩 입증 차단됨. HTTP 403 (GroupsController core.admin)
관리자에서 Users -> Viewing Access Levels 열기GET /administrator/index.php?option=com_users&view=levels해당 없음랩 입증 차단됨. HTTP 403
UI에서 level 저장POST ... task=level.save해당 없음랩 입증 차단됨. HTTP 403 (LevelController::allowSave는 core.admin 요구)
기본 Manager( core.login.api 없음)로 API 호출Bearer 토큰 / X-Joomla-Token해당 없음추정 차단됨. 기본 core.login.api는 Super User(그룹 8) 전용. 이 랩에서는 먼저 그룹 6에 부여함.
Super User / 설치 프로그램 RCE해당 없음해당 없음차단됨. Manager는 Manager로 남음.

발견 방법

2026-07/08 JSST 웨이브 이후 joomla/joomla-cms 6.1.3을 고정했다. Groups API는 이미 core.admin을 요구한다. View levels는 여전히 ApiController(core.manage와 core.create / core.edit / core.delete)를 통과한다. LevelsController의 유일한 추가 로직은 rules의 PATCH JSON 디코드뿐이다.

수정된 Groups 형제 컨트롤러:

public function allowAdd($data = [])
{
    return $this->app->getIdentity()->authorise('core.admin', $this->option);
}

관리자 UI:

protected function allowSave($data, $key = 'id')
{
    return $this->app->getIdentity()->authorise('core.admin', $this->option)
        && parent::allowSave($data, $key);
}

이미 기록된 잘못된 접근: Groups API가 여전히 열려 있다고 간주(실제로는 403); core.login.api를 먼저 부여하지 않고 기본 Manager로 API 호출(기본값은 Super User 전용이며, CVE-2026-71574 / 72531 / 48904와 동일한 설정); UI 403을 전부로 해석(잔여 권한은 API에 있음). 불필요한 시도: 리버스 셸. 판별 기준은 API 200, Groups 403, UI 403이다.

동일 고정 버전의 잔여 항목: menu items API, media override, articles catid.

랩

python3 joomla-levels-api-Abraxas-Labs.py

또는

cd lab
./run.sh

대상은 오직 http://127.0.0.1:19520. 이미지 joomla:6.1.3-php8.3-apache와 mariadb:11.4.

SUCCESS joomla-levels-api api-http=200 level-id=7 groups-api=403 ui-view=403 ui-save=403 JOOMLA-LEVELS-API-WITNESS

수정 방법

GroupsController의 core.admin allowAdd / allowEdit / delete를 LevelsController에 복사한다. 관리자 UI 게이트는 유지한다.

참고 자료

  • github.com/joomla/joomla-cms 태그 6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
  • LevelsController.php
  • 인접 패치: Groups API core.admin (6.1.1) · CVE-2026-71574
  • 동일 태그: joomla-menu-items-api · joomla-media-override · joomla-articles-catid
  • CWE-863

라이선스

GNU Affero GPL v3.0. LICENSE 참조. 루프백 랩 전용. 보증 없음.

도구 다운로드