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-2018-7600 — Laboratorio passo dopo passo per l'analisi e lo sfruttamento della vulnerabilità di esecuzione remota di codice Drupal CVE-2018-7600, inclusi debug, codice exploit e revisione della patch di mitigazione. | Kitploit
Strumenti/GitHubGitHub/raytran54/cve-2018-7600
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebApprendimento e FormazioneLab e Pratica
GitHubraytran54/cve-2018-7600

CVE-2018-7600

Laboratorio passo dopo passo per l'analisi e lo sfruttamento della vulnerabilità di esecuzione remota di codice Drupal CVE-2018-7600, inclusi debug, codice exploit e revisione della patch di mitigazione.

Vedi Repository
32 anni 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

TRAN CONG DANH - SVTT - Mentore: LUU VAN LAN - CVE-2018-7600 - Giorno di inizio: 26/06/2024.

Indice dei contenuti:

  1. Riepilogo CVE
  2. Prerequisiti
  3. Analisi CVE
  4. Mitigazione

Riepilogo CVE

  • Un attaccante potrebbe chiamare una richiesta Ajax dell'API Form di Drupal contenente la funzione auto do di call_user_func
  • Drupal prima di 7.58, 8.x prima di 8.3.9, 8.4.x prima di 8.4.6, e 8.5.x prima di 8.5.1

Prerequisiti

  • In questo laboratorio, uso:

    • Ubuntu 20.04 (PHP 7.2, MariaDB)
    • La versione di Drupal che uso in questo laboratorio è 8.3.8
    • Visual Studio Code per il debug
    • Kali 23.4 per eseguire l'exploit di Drupal

Analisi CVE

  • Troviamo che le chiavi che usano call_user_func sono #pre_render, #post_render, #access_callback, #submit, #lazy_builder, #validate immagine
  • Il compito ora è trovare quale parametro inviato dall'utente ha un render, può cambiare la chiave e ricevere la chiave #post_render, per richiamarlo. immagine
  • Quando si ridimensiona l'immagine, il server chiama l'API di Drupal immagine
  • La funzione &$array inclusa qui è l'array degli elementi predefiniti quando inviati, proviamo a eseguire il debug senza codice: immagine immagine
  • Supponiamo di modificare il valore della mail durante il caricamento: immagine immagine
  • immagine

    • Quando si chiama il metodo getValue($array, $parents), il processo è il seguente:

    $ref impedisce i riferimenti a $array.

    Primo ciclo: $ref riferito a $array['a'].

    Secondo ciclo: $ref riferito a $array['a']['b'].

    Terzo ciclo: $ref riferito a $array['a']['b']['c'].

    Il risultato finale, $ref sarà riferito al valore 42.

    root@kitploit:~
    $array = [
        'a' => [
            'b' => [
                'c' => 42
            ]
        ]
    ];
    $parents = ['a', 'b', 'c'];
    
    • Dopo aver ricevuto il valore $form dalla funzione getValue, $form diventerà un argomento per la funzione Render

    immagine immagine immagine

    • La definizione di call_user_func

    immagine

    • Il risultato quando uso il file exploit:

    immagine

    Mitigazione

    • Patch ** Gli sviluppatori di Drupal hanno pubblicato una patch, aggiungendo una classe RequestSanitizer con un metodo stripDangerousValues per rimuovere tutti gli elementi di input dell'array le cui chiavi iniziano con "#". Questo metodo pulisce l'input in $_GET, $_POST e $_COOKIES.

    ** Drupal 8.6.5 /core/lib/Drupal/Core/DrupalKernel.php immagine /core/lib/Drupal/Core/Security/RequestSanitizer.php immagine immagine ** La funzione stripDangerousValues verifica uno per uno tutti i parametri di input, i primi elementi dell'array di input hanno un valore che inizia con "#" e i valori non in whitelist vengono rimossi.

    Scarica lo strumento