Gli attacchi LFI sono possibili (rimozione dell'estensione) in PHP 5.4.4+?

4

Chiedendosi se esiste ancora un possibile vettore di attacco per gli attacchi LFI che rimuovono l'estensione del file. Ovviamente il byte null è stato corretto nelle precedenti versioni di PHP e non funziona più, insieme al troncamento dei file.

Per chiarire, c'è un metodo di lettura di /etc/passwd con questo codice in PHP 5.4.4+ assumendo le peggiori impostazioni del lato server.

include( $_GET['page'] . '.php' );
    
posta Peleus 22.06.2014 - 10:40
fonte

1 risposta

6

Non penso che questo consentirà a qualcuno di includere direttamente /etc/passwd , ma ci sono ancora molti problemi da risolvere. Un utente malintenzionato potrebbe essere in grado di:

  • Attiva un DoS includendo il file stesso. (Dato che stai usando include, non include include_once, continuerà a includere in modo ricorsivo lo stesso file.)
  • Includi script arbitrari sul tuo sistema, come copie di phpinfo, perdite di informazioni sensibili.
  • Includi codice arbitrario se sono in grado di caricare file con estensioni definite dall'utente.

Tieni presente che se hai permesso allow_url_include = 1 nel tuo php.ini, ti stai aprendo per una vulnerabilità di inclusione dei file remota .

Un approccio migliore prevede la whitelist delle tue pagine o, almeno, l'utilizzo di qualcosa come basename() o realpath() + dirname() per impedire attacchi di directory trasversali.

    
risposta data 23.06.2014 - 03:37
fonte

Leggi altre domande sui tag