PHP : Comment identifier une tentative d'attaque Shellshock sur son serveur
Voici un petit script PHP permettant d'identifier rapidement des tentatives d'attaque Shellshok sur son serveur PHP.
Les attaques se trahissent par la présence des caractères '()' en début de chaîne d'entête HTTP.
<?php
// index.php C la racine du serveur
function startsWith($haystack, $needle)
{
return $needle === "" || strpos($haystack, $needle) === 0;
}
if ((startsWith($_SERVER['HTTP_COOKIE'],('()')))
||(startsWith($_SERVER['HTTP_REFERER'],('()')))
|| (startsWith($_SERVER['HTTP_HOST'],('()')))){
// Tentative d'attaque logguC)e
file_put_contents('attaques.log', $_SERVER['REMOTE_ADDR'].PHP_EOL,FILE_APPEND);
};
.....
Vous devriez voir le fichier "attaques.log" énormément grossir d'ici les prochains jours. La récente faille détectée dans Bash devrait avoir un impact non négligeable sur le trafic Internet.
Des vers utilisant la vulnérabilité Shellshok devraient probablement circuler sur la toile d'ici les prochains jours .