Inclusione di file su un sito web che aggiunge sempre .php

0

Sto guardando un sito web che utilizza un parametro URL per includere la pagina corrente, come http://host.tld/index.php?page=about .

Se aggiungo qualcosa di diverso dalla pagina corrente (ad esempio http://host.tld/index.php?page=test ) riflette il parametro, aggiunto con .php e indica che la risorsa non è stata trovata.

Qui si vede che l'XSS funziona già, ma sto cercando di includere altri file. Ora, se inserisco /etc/passwd come parametro, non trova il file /etc/passwd.php .

Ho provato ad aggiungere %00 , %2500 e %00 alla fine del parametro, nessuno dei quali funziona:

  • %2500 genera un errore:

    Warning: file_exists() expects parameter 1 to be a valid path, string given in /var/www/html/index.php on line 69

  • "test%00.php" riflette il parametro (test) come test.php.php

  • %code% viene semplicemente aggiunto al parametro quando viene riflesso, come %code%

Il %code% non viene aggiunto sul lato client.

C'è un altro modo per sfruttarlo per includere altri file di sistema? La risposta del server indica Apache / 2.4.10 (Debian).

    
posta SaAtomic 21.10.2016 - 14:09
fonte

1 risposta

0

Hai controllato se puoi includere un file remoto (hai specificato un URL come file)? Se si tratta di una LFI classica, non si potrebbe andare molto lontano perché i ragazzi di php alla fine hanno risolto il problema con l'aggiunta di% 00 per tagliare la stringa. Quello che puoi fare ora è eseguire la scansione del file system del server web per i file php. Forse questo ti permette di rilevare nuovi vettori di attacco ma, come spesso in pentesting, devi usare la tua creatività se vuoi avere successo.

    
risposta data 21.10.2016 - 14:41
fonte

Leggi altre domande sui tag