E 'possibile trovare un buffer overflow in WordPress?

19

Ho avuto una conversazione interessante con un pentester che mi ha detto di aver trovato un buffer overflow in Wordpress. La persona in questione era davvero irremovibile sul fatto che fosse vero. Il cliente è un po 'scettico riguardo alle capacità tecniche della ditta di pentecoste e ha chiesto la mia opinione.

Quindi la domanda che ho è questa: qualcuno ha mai sentito che qualcuno ha trovato un buffer overflow in WordPress semplicemente facendo una richiesta GET ad alcuni PHP?

La mia opinione: se fosse vero, avrebbe trovato un buffer overflow nell'interprete PHP, e sarebbe stato enorme. Quindi non penso sia vero.

EDIT: Il BOF era in due parti:

  • In una funzione php creata dal client con lo stesso carico utile di una vulnerabilità XSS (quindi qualcosa come 123 "> alert (0);

  • Nel token wp_session con solo un gruppo di A (~ 60)

È stato fatto tutto esternamente senza alcun accesso al server in una pentecida routine di circa 10 siti web diversi ...

Aggiornerò dopo aver eseguito una revisione del codice effettiva sulle parti che dovrebbero essere vulnerabili

Modifica Così ho fatto la revisione del codice ed è stata davvero una storia di BS. Non solo i BOF non esistevano affatto, ma in realtà ha detto di aver trovato uno SQLi in una parte del codice che non ha fatto assolutamente nulla con un database.

Ma almeno la discussione nei commenti è stata molto approfondita sulle possibilità offerte da BOF di questo tipo di piattaforme standard e CMS, quindi ho imparato molto! Grazie!

    
posta Wealot 08.02.2018 - 10:38
fonte

5 risposte

27

Poiché PHP gestisce la memoria e un sacco di cose da solo, trovare un buffer overflow specifico in WordPress non ha proprio senso per me.

Prima di screditare il Penetration Tester, gli chiederei di documentare la scoperta in questione. Come lavora per il cliente (sembra corretto, correggimi se sbaglio), è suo / a suo / a segnalare un problema di questo tipo al cliente, inclusa una documentazione di almeno un modo per rintracciare / riprodurre il problema.

Sono molto scettico, come dici tu, che ha solo avuto accesso al servizio web dall'esterno. La verifica di un problema di basso livello come un buffer overflow (che è anche molto al di là del webservice o del wordpress in generale) è quasi impossibile dall'esterno.

L'esecuzione di uno è difficile, anche se si ha accesso al codice sorgente, che non sembra essere il caso (supponendo che non sia un test whitebox).

P.S .: Se ricevi una risposta dal cliente / pentatore, mi piacerebbe sentirla. Mi hai incuriosito per qualche motivo ...

    
risposta data 08.02.2018 - 10:54
fonte
20

Potrebbe essere che abbia trovato un buffer overflow in PHP o glibc che può essere sfruttato tramite Wordpress. Ad esempio, 3 anni fa c'era un buco in gethostbyname () che poteva essere sfruttato tramite Wordpress. Si chiama vulnerabilità GHOST.

Se hai un sistema operativo molto vecchio senza aggiornamenti e un Wordpress molto vecchio potrebbe essere vero.

    
risposta data 08.02.2018 - 12:14
fonte
6

Come GxTruth menzionato , PHP gestisce la memoria. Ciò significa che tutto ciò che è in esecuzione su php è fondamentalmente sicuro rispetto ai buffer overflow come php (a meno che tu non stia facendo qualcosa di veramente pazzo).

Ma php non è sicuro al 100% dai buffer overflow: link

Se questo pentester ha effettivamente trovato un buffer overflow, dovrebbero essere in grado di dirti esattamente come riprodurlo. A quel punto dovresti essere in grado di rintracciarlo nel codice. Potrebbe essere causato da una versione di WP / PHP precedentemente rattoppata. Assicurati sempre di essere aggiornato sulle ultime patch in tutto il tuo stack tecnologico.

Se si verifica questo è un bug nelle versioni più recenti, quindi raccogliere le informazioni pertinenti e presentare le segnalazioni di bug appropriate. Puoi informare le persone che sviluppano php qui: link . Assicurati di contrassegnare il bug come security correlato. Sarebbe anche importante leggere prima questo: link . Inoltre, segnala questo a WordPress oa qualsiasi sviluppatore di plug-in / temi di terze parti interessati, in modo che possano prendere provvedimenti per mitigare il problema mentre PHP stesso viene corretto.

E se questo è un problema, per quanto possa essere curioso sapere cosa è, non fare rapporto su questo pubblicamente fino a quando i manutentori del codice interessato non avranno la possibilità di risolverlo in questo modo interesserà molti siti sul Web e non solo i tuoi.

    
risposta data 08.02.2018 - 14:56
fonte
4

Probabilmente è uno di questi quattro:

  • Potrebbe non conoscere il nome corretto e chiamare qualcosa come hashdos un "buffer overflow" perché riempie l'array a tal punto che non risponde o si arresta in modo anomalo.
  • Potrebbe aver trovato un buffer overflow in PHP e, per usare parole semplici, chiamarlo "in Wordpress" perché le persone potrebbero non sapere che eseguono PHP sotto il cofano e lo sanno solo come Wordpress.
  • Potrebbe aver trovato un buffer overflow per PHP da sfruttare tramite Wordpress.
  • Potrebbe non avere idea di cosa stia parlando.

Direi che quest'ultimo è di gran lunga il più probabile.

    
risposta data 09.02.2018 - 10:12
fonte
0

È possibile che abbia trovato un buffer overflow nel server web (ad esempio Apache HTTPD), invece che in php o nella tua applicazione. Ad esempio, link "Overflow del buffer dei cookie httpd Apache per le versioni 1.1.1 e precedenti.", Questo CVE interrompe l'istanza del figlio apache nel caso in cui il server usi mod_cookie per modificare un cookie nella risposta HTTP. Come ricordo, se l'attaccante ha inserito una lunga stringa nel valore del cookie pertinente, ha causato l'arresto anomalo.

    
risposta data 09.02.2018 - 18:17
fonte

Leggi altre domande sui tag