He estado tratando de probar la vulnerabilidad de shellshock en PHP similar a esta respuesta . Estoy ejecutando el servidor Apache con PHP ejecutando como mod_php. La versión de PHP es 5.3.10.
Tengo un archivo php (phptest.php):
<?php
function getLang()
{
if (isset($_GET["lang"]) && !empty($_GET["lang"]))
{
$lang = $_GET["lang"];
}
return $lang;
}
$language = getLang();
putenv("LANGUAGE=$language");
system("env | grep LANGUAGE");
?>
Intenté acceder a la página a través del navegador de la siguiente manera:
localhost/phptest.php?lang=(){:;}; /bin/ping http://localhost
En la pregunta vinculada, el wget está relacionado con la IP del desarrollador, pero simplemente decidí hacer un ping para ver si puedo probarlo.
El navegador muestra el resultado de la siguiente manera:
LANGUAGE=(){:;}; /bin/ping http://localhost
Intenté monitorear el ping utilizando lo siguiente (de esta pregunta ):
sudo tcpdump -i lo icmp and icmp[icmptype]=icmp-echo
No vi ninguna solicitud. ¿Alguien puede decir qué necesito corregir en mi prueba?