¿Cómo eval () en php puede ser peligroso en la seguridad de la aplicación web?

0

Quiero saber que ¿la función eval puede ser peligrosa para la seguridad de cualquier aplicación web?

A continuación se muestra el código que utilizo para entender cuando una entrada del usuario pasa a la función eval, luego ¿Cómo puede un atacante explotarlo?

<?php

$x = @$_GET['arg'];

eval("\$y = \"$x\";");
echo $x;

?>
    
pregunta Utkarsh Agrawal 08.02.2018 - 13:26
fuente

1 respuesta

3

Ok, primero imagina que te envío esta solicitud:

script.php?arg=foo

Tu evaluación se ve así:

$y = "foo";

Pero si envío esto:

script.php?arg=";%20echo%20exec('whoami');%20//

Esto convierte tu código en esto:

$y = ""; echo exec('whoami'); //";

Que ejecuta el comando "whoami" en el servidor e imprime el resultado. El // comenta la parte final de su código original para que se ignore y mi código se ejecute correctamente.

Este es un error de ejecución remota de código increíblemente trivial para explotar.

    
respondido por el Polynomial 08.02.2018 - 13:30
fuente

Lea otras preguntas en las etiquetas