Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
joomla-levels-api — Joomla 6.1.3 - Alta - Remota - ACL - GET /api/v1/users/levels espone i livelli di visualizzazione | Kitploit
Strumenti/GitHubGitHub/abraxas/joomla-levels-api
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingSicurezza delle APILab e Pratica
GitHubabraxas/joomla-levels-api

joomla-levels-api

Joomla 6.1.3 - Alta - Remota - ACL - GET /api/v1/users/levels espone i livelli di visualizzazione

94 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Abraxas Labs - joomla-levels-api

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

joomla-levels-api

Classe: Privilegio residuo Reach: Remoto

Joomla CMS 6.1.3 (0f2d4de) - Open Source Matters

Administrator Users -> Viewing Access Levels richiede core.admin su com_users (LevelController::allowSave e delete). Il webservice Groups fa già lo stesso (GroupsController, 6.1.1). LevelsController non ha override di allowAdd, allowEdit o delete, quindi ApiController lascia passare core.manage più core.create.

Un token API di classe Manager, a cui è concesso core.login.api senza core.admin, può creare livelli di accesso in visualizzazione che l'interfaccia utente vieta.

IDnessuna CVE al momento
ClassePrivilegio residuo / bypass di autorizzazione
ReachRemoto (token API con core.login.api)
CWECWE-863
CVSSMedio: 6.1 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
ProdottoJoomla CMS
Affetto6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
AuthToken API per Manager (gruppo 6) con core.login.api e com_users manage/create/edit. Nessun core.admin. Il valore predefinito di core.login.api è solo Super User.
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Cosa può fare un attaccante

Usare un token API non-Super-User per cambiare quali gruppi vedono quali pagine. Non diventano Super User solo con questo residuo. Si tratta di controllo della visibilità dei contenuti, non di takeover del sito.

PrivilegioMetodo / percorsoTipoProvato in lab o dedotto
Creare un livello di accesso in visualizzazionePOST /api/index.php/v1/users/levels JSON title, rules (id dei gruppi)integritàProvato in lab. HTTP 200, #__viewlevels id=7, titolo poc-level-JOOMLA-LEVELS-API-WITNESS
Modificare un livello esistente (lista gruppi / titolo)PATCH /api/index.php/v1/users/levels/{id}integritàDedotto. Stesso controller, nessun allowEdit. In lab è stato solo creato.
Eliminare un livelloDELETE /api/index.php/v1/users/levels/{id}integrità / disponibilità delle righe ACLDedotto. Stesso override mancante. In lab non è stata eseguita la DELETE.
Esporre un articolo, modulo o voce di menu riservato ai membriNuovo livello o livello modificato le cui rules includono Public / Guest / Registeredricognizione (visibilità dei contenuti)Dedotto da #__viewlevels.rules. In lab è stata inserita la riga; non è stato riapplicato l'ACL a un articolo attivo.
Nascondere una pagina a Registered, o aggiungere il gruppo dell'attaccante a un livello SpecialStessa PATCH / creazioneintegritàDedotto. Stesso store.
Modificare i gruppi utente dall'APIPOST /api/index.php/v1/users/groupsn/dProvato in lab chiuso. HTTP 403 (GroupsController core.admin)
Aprire Users -> Viewing Access Levels nell'amministratoreGET /administrator/index.php?option=com_users&view=levelsn/dProvato in lab chiuso. HTTP 403
Salvare un livello dall'interfaccia utentePOST ... task=level.saven/dProvato in lab chiuso. HTTP 403 (LevelController::allowSave richiede core.admin)
Colpire l'API con un Manager standard (senza core.login.api)Bearer token / X-Joomla-Tokenn/dDedotto chiuso. Il valore predefinito di core.login.api è solo Super User (gruppo 8). Questo lab lo concede prima al gruppo 6.
RCE da Super User / installern/dn/dChiuso. Il Manager resta Manager.

Come l'ho trovato

Ho fissato joomla/joomla-cms 6.1.3 dopo l'ondata JSST di 2026-07/08. L'API Groups richiede già core.admin. I livelli di visualizzazione passano ancora attraverso ApiController (core.manage più core.create / core.edit / core.delete). L'unica logica extra su LevelsController è la decodifica JSON PATCH di rules.

Sibling Groups corretto:

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

Interfaccia amministratore:

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

Vicoli ciechi già registrati: considerare l'API Groups ancora aperta (restituisce 403); colpire l'API come Manager standard senza prima concedere core.login.api (il valore predefinito è solo Super User, stessa configurazione di CVE-2026-71574 / 72531 / 48904); leggere il 403 dell'interfaccia utente come l'intera storia (il residuo è l'API). Teatro: una reverse shell. L'oracolo è API 200 più Groups 403 più UI 403.

Altri residui dello stesso pin: menu items API, media override, articles catid.

Lab

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

oppure

cd lab
./run.sh

Target solo http://127.0.0.1:19520. Immagine joomla:6.1.3-php8.3-apache più 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

La correzione

Copiare core.admin allowAdd / allowEdit / delete da GroupsController su LevelsController. Mantenere il gate dell'interfaccia amministratore.

Riferimenti

  • github.com/joomla/joomla-cms tag 6.1.3 (0f2d4de4729eb951e0878fec98c7990da07915b2)
  • LevelsController.php
  • Correlato già corretto: Groups API core.admin (6.1.1) · CVE-2026-71574
  • Stesso tag: joomla-menu-items-api · joomla-media-override · joomla-articles-catid
  • CWE-863

Licenza

GNU Affero GPL v3.0. Vedi LICENSE. Solo lab su loopback. Nessuna garanzia.

Scarica lo strumento