inyección de código PHP usando GET y echo

3

He encontrado un fragmento de este código en una aplicación web (simplificado):

<?php $password="very-secret-password"; $param = $_GET["param"]; ?>
<html> ...
Param: <?php echo $param; ?>
... </html>

Sé que esto es como una llamada a XSS, pero me gustaría saber si el atacante puede ejecutar su propio código PHP aquí. Con esto, me refiero a algo como mostrar la contraseña - page.php?param=; ?><?php echo $password; ?> , pero específicamente esto no funcionó.

Las hojas de trucos de Google y OWASP no proporcionaron información sobre este problema específico.

Entonces, ¿el atacante puede ejecutar su propio código PHP aquí o no es posible? Si es así, ¿cómo? (PHP v5.6)

    
pregunta Vilican 31.12.2015 - 22:16
fuente

2 respuestas

12

No, no es posible inyectar el código del lado del servidor simplemente a través de parámetros CGI de eco. Pero como dices, permite un ataque XSS reflejado.

Por otra parte, es posible que haya otras vulnerabilidades en el código que no incluyó en su pregunta.

    
respondido por el symcbean 31.12.2015 - 22:40
fuente
1

Si acaba de repetir el parámetro, el atacante no puede inyectar ningún código PHP. Pero haces posible un ataque XSS.

Pero si eval($_GET["param"]) , o evalúa cualquier otro código en el que use uno de los parámetros GET o POST, entonces es posible inyectar código PHP.

    
respondido por el Iter Ator 01.01.2016 - 10:49
fuente

Lea otras preguntas en las etiquetas