Vulnerabilità nella valutazione limitata

4

È possibile sfruttare questo codice?

eval ("\$RequestVariables = \$_REQUEST;");

o

eval ("\$ServerVariables = \$_SERVER;");

So che $_REQUEST o $_SERVER non era un array e se era una stringa o int era possibile sfruttarlo, ma in questo caso è un array. È ancora possibile sfruttare questo codice?

    
posta JohnDoes 12.02.2018 - 16:46
fonte

1 risposta

2

No , che non è sfruttabile.

Tutte le variabili nella stringa che stai passando a eval() sono \ -escaped, quindi non vengono espanse. Ciò significa che stai sempre valutando letteralmente ...

$RequestVariables = $_REQUEST;

... che è solo un compito ordinario senza alcuna possibilità di inserire il tuo codice.

What if they were not \-escaped?

In questo caso sei ancora sfortunato perché $_REQUEST e $_SERVER sono garantiti come array, e la rappresentazione in stringa di un array è sempre solo Array , non mostra alcun valore contenuto.

    
risposta data 12.02.2018 - 17:16
fonte

Leggi altre domande sui tag