Come sfruttare DRUPAL-SA-CORE-2012-003

2

Ho letto le note di sicurezza e ho capito che "consentirebbe a un utente malintenzionato di reinstallare un sito Drupal esistente con un database esterno server e quindi eseguire codice PHP personalizzato ". Secondo Drupal, "la reinstallazione può avere successo solo se il file settings.php del sito o le directory dei siti sono scrivibili o di proprietà dell'utente del server web."

Ho provato a Google per una spiegazione migliore su come un utente malintenzionato potrebbe sfruttare il file install.php ma non è riuscito a trovarne. Capisco che ci sia una patch e alcune soluzioni rapide come la seguente:

<Files install.php>
  Order allow,deny
  ErrorDocument 403 "Access denied."
</Files>

Ma cosa voglio sapere, qual è il processo per sfruttare DRUPAL-SA-CORE-2012-003?

(Vorrei che un esempio funzionante potesse essere eseguito sul mio sito di prova)

    
posta Digital fire 18.10.2012 - 17:19
fonte

3 risposte

4

Ho controllato il codice reale e riprodotto l'exploit. Oltre a tutte le condizioni indicate da Polynomial, install.php deve essere chiamato quando il database corrente configurato in settings.php non è disponibile.

Per sfruttare la vulnerabilità, l'attaccante deve in qualche modo creare un Denial of Service per il server del database. Ad esempio, può inviare più richieste simultanee al sito. Questi si collegherebbero al database, raggiungendo possibilmente limiti di database (es. MySQL ' max_user_connections ' ). All'interno di quella finestra temporale ristretta, l'utente malintenzionato deve avviare il nuovo processo di installazione (che sovrascrivere settings.php con i dettagli DB scelti dall'utente).

    
risposta data 19.10.2012 - 22:59
fonte
2

È piuttosto semplice, davvero. Se install.php è accessibile e settings.php è scrivibile dal demone HTTP (ad esempio Apache), un utente malintenzionato può semplicemente andare a install.php e reinstallare Drupal tramite il normale metodo di installazione. Questo sovrascrive settings.php e fornisce all'utente l'accesso completo alla tua installazione.

Non ho controllato, ma potrebbe anche eliminare e ricreare tutte le tabelle del database, che è una cosa buona o cattiva a seconda di come la si guarda. È buono nel senso che l'utente malintenzionato perderebbe le credenziali nella tabella degli utenti e sarebbe male nel senso che eliminerebbe tutti i tuoi dati.

    
risposta data 18.10.2012 - 17:37
fonte
2

Ci sono molti problemi con il programma di installazione:

  • Il programma di installazione può essere riutilizzato quando il database è inattivo (non quando è attivo, come nei polinomi)
  • Il programma di installazione può essere riutilizzato su determinate configurazioni multisito
  • Il programma di installazione può essere riutilizzato quando il database viene forzato ad errori quando le richieste si presentano per eseguire le attività del database.

Vedi anche link

    
risposta data 26.10.2012 - 07:53
fonte

Leggi altre domande sui tag