Vulnerabilidad en evaluación restringida

4

¿Es posible explotar este código?

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

o

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

Sé que $_REQUEST o $_SERVER no era una matriz y si era una cadena o int era posible explotarla, pero en este caso es una matriz. ¿Todavía es posible explotar este código?

    
pregunta JohnDoes 12.02.2018 - 16:46
fuente

1 respuesta

2

No , eso no es explotable.

Todas las variables en la cadena que está pasando a eval() son \ -escaped, por lo que no se expanden. Esto significa que siempre estás evaluando literalmente ...

$RequestVariables = $_REQUEST;

... que es solo una tarea ordinaria sin posibilidad de inyectar tu propio código.

  

¿Qué pasa si no se escaparon \ ?

En ese caso, todavía no tienes suerte porque se garantiza que $_REQUEST y $_SERVER son matrices, y la representación de la cadena de una matriz siempre es solo Array , sin mostrar ningún valor contenido.

    
respondido por el Arminius 12.02.2018 - 17:16
fuente

Lea otras preguntas en las etiquetas