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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
analyze-Exploit-CVE-2023-22518-Confluence — Analisi dell'exploit CVE-2023-22518 per Atlassian Confluence Server che copre configurazione, differenze nei JAR, causa principale e ripristino non autorizzato per riottenere l'accesso amministratore. | Kitploit
Strumenti/GitHubGitHub/d3ckkno0b/analyze-exploit-cve-2023-22518-confluence
Analisi delle VulnerabilitàAnalisi del CodiceExploitReverse EngineeringSfruttamento di Applicazioni WebDebuggerApprendimento e Formazione
GitHubd3ckkno0b/analyze-exploit-cve-2023-22518-confluence

analyze-Exploit-CVE-2023-22518-Confluence

Analisi dell'exploit CVE-2023-22518 per Atlassian Confluence Server che copre configurazione, differenze nei JAR, causa principale e ripristino non autorizzato per riottenere l'accesso amministratore.

Vedi Repository
1201 anno 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

Exploit-CVE-2023-22518 CVE-2023-22518 in Confluence

CVE-2023-22518 : Questa vulnerabilità è descritta come “vulnerabilità di autorizzazione impropria nel database e nel server di Confluence”. Il difetto riguarda le versioni On-premises dei prodotti Atlassian.

SETUP

Configurare l'ambiente utilizzando la versione vulnerabile 8.0.4. URL di download: https://product-downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-8.0.4-x64.exe

image

Scegliere Trial Installation, quindi fare clic sul link per ottenere la free trial key. Successivamente configurare il cluster: scegliere non-cluster image

Successivamente passare alla configurazione del database -> Scegliere MySQL image

Seguire le istruzioni:

Scaricare il driver MySQL Inserire il file .jar in /home/lily/atlassian/confluence/confluence/WEB-INF/lib Riavviare Confluence e continuare il processo di configurazione. image Configurare il database, creare l'utente e la password per la tabella

CREATE DATABASE securedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'admin123'@'localhost' IDENTIFIED BY 'supersecure';
GRANT ALL PRIVILEGES ON securedb.* TO 'admin123'@'localhost';
GRANT SUPER ON *.* TO 'your_username'@'your_host';
FLUSH PRIVILEGES;

Successivamente edit /etc/mysql/my.cnf . Aggiungere le seguenti righe:

transaction-isolation = READ-COMMITTED
log_bin_trust_function_creators = 1

image

Successivamente riavviare MySQL e Confluence. Quindi andare alla pagina di configurazione su localhost:8090 e inserire il database creato

image

Verificare che la connessione sia riuscita, fare clic su Next. Successivamente registrarsi (Sign up).

image

DEBUG

** Diff tra i file jar delle due versioni su IntelliJ **

  • Nello specifico, qui ho fatto il diff delle versioni 8.0.4 e 7.19.16. Come da descrizione, confrontare il file confluence.jar delle due versioni

image

  • La differenza tra la versione patchata e quella non patchata è @WebSudoRequired e @SystemAdminOnly. WebSudoRequired è una funzionalità che migliora la sicurezza delle sessioni di amministratore. Quando si tenta di accedere all'area di amministrazione, il sistema richiede di reinserire la password anche se si è già autenticati nel sistema. Aggiunge un passaggio di autenticazione aggiuntivo per garantire l'accesso amministrativo.

SystemAdminOnly: è una funzionalità che limita le funzioni di amministrazione ai soli account amministratore. Ciò garantisce che solo gli account autorizzati possano eseguire operazioni critiche che influiscono sul sistema.

Impostare un breakpoint su validate() in RestoreAction.class

image

La funzione salva il file caricato tramite getRestoreFileFromUpload

image

GetExportDescriptor viene utilizzato per decomprimere e leggere il contenuto del file zip

image

image

Tuttavia, dopo il debug, non è stata ancora trovata la causa principale della vulnerabilità

La causa descritta nella CVE è una vulnerabilità di autorizzazione. Questo porta a rivolgere l'attenzione alle ricerche sulle vulnerabilità del linguaggio Java durante il processo di gestione dei permessi da parte degli sviluppatori

Spostare l'attenzione sul file struts.xml: questo file contiene informazioni sulle azioni e sul routing basato sui namespace, nonché sugli interceptor.

image

image

image

Vediamo che il namespace /json estende le funzionalità del namespace /admin. Pertanto, le rotte create per il namespace /admin sono accessibili anche tramite il namespace /json.

Nel contesto del namespace /json, il processo di routing delle richieste prevede il passaggio attraverso una serie di interceptor. Uno di questi interceptor, chiamato WebSudoInterceptor, esegue controlli basati sull'URI della richiesta.

Nello specifico, WebSudoInterceptor esegue i seguenti controlli:

Se il percorso della richiesta è /authenticate.action, viene ignorato. Se il percorso della richiesta è /admin, verifica se l'attributo WebSudoNotRequired è vuoto.

Se una richiesta viene inviata a '/json', la richiesta a '/json/action' viene inoltrata a '/setup/action' e 'admin/action'. In questa CVE, il percorso vulnerabile è / 'json/setup-restore.action?synchronous=true'

Catturare la richiesta con Burp Suite, GET /json/setup-restore.action. Tuttavia si riceve una risposta "Method Not Allowed". Provare con POST /json/setup-restore.action?synchronous=true e si riceve una risposta 200

image

image

Caricare il file xmlexport-200123123001.zip

image

Inviare e ricevere la risposta

image

Ora possiamo accedere con account admin :admin

image

E si ottiene il seguente risultato

image

Scarica lo strumento