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
alla fine del parametro, nessuno dei quali funziona: %00
-
%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) cometest
.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).