Sh1bumi ha pubblicato una possibile versione di ShellShock per Windows.
In questo caso, il comando ECHO esegue anche il comando contenuto nella variabile:
>set pippo=pluto^&ping localhost >echo %pippo% pluto Pinging localhost [::1] with 32 bytes of data:
La sequenza ^&
contiene il carattere di escape ^
e il carattere &
che significa “esegui il comando che segue al termine del precedente”. Il carattere di escape serve a non eseguire il ping
dopo il comando set
, ma a mettere la stringa pluto&ping localhost
nella variabile d’ambiente pippo
.
Il test è facilmente replicabile su una command line di Windows, l’immagine qui sopra è stata catturata in un Windows 7.
L’utilizzo di file batch non è diffuso in Windows quanto gli script shell sono utilizzati in *NIX e la possibilità che qualche servizio esposto a Internet da un server Windows passi un input non sanificato ad un batch che esegue un echo di quel valore è molto inferiore ad un problema analogo su *NIX, ma il problema esiste.
Lascia un commento