Bypass file_exists [rfi, lfi] nel mio codice, è possibile?

4

Ho la seguente parte di codice nella mia applicazione web:

$data = "dir/files/".$_GET['f'].".pdf";    

Un paio di righe in basso che ho ricevuto:

if(file_exists($data)){    
include($data);

Un utente malintenzionato potrebbe scavalcarlo per sfruttare una RFI sul mio sistema? O è solo LFI?

    
posta Andrew R. 12.09.2015 - 15:04
fonte

1 risposta

1

I caratteri migliori per la lista bianca (non per la lista nera) sono consentiti in $ _GET ['f'].

if (preg_match("[^A-Za-z0-9_-]", $_GET['f'])) {
  fail();
} else {
  // your logic here
}

Notare che non ho inserito "." o "/" nella whitelist. È stato intenzionale.

    
risposta data 12.09.2015 - 19:45
fonte

Leggi altre domande sui tag