Se si dispone di un server Web Apache con una configurazione standard e di uno script cgi che fa uso di bash, la voce di registro per una richiesta può apparire identica nei seguenti tre casi:
- Viene effettuata una richiesta legittima.
- Viene eseguito un attacco riuscito.
- Un tentativo di attacco non riesce perché hai eseguito l'upgrade a una versione
bash
che disabilita la funzionalità vulnerabile.
L'unica differenza necessaria per trasformare una richiesta legittima in un attacco è la modifica di una delle intestazioni della richiesta, che viene inserita in una variabile di ambiente.
Se l'intestazione User-agent
viene utilizzata per eseguire l'attacco, sarà abbastanza visibile nel registro di accesso al registro, poiché tale intestazione viene registrata. Ma ci sono altre intestazioni che possono essere utilizzate per eseguire l'attacco, che non sono registrate di default.
Se un tentativo di attacco non è riuscito a causa del fatto che bash
è stato aggiornato alla versione intermedia che ha corretto il bug ma ha comunque permesso di specificare le funzioni attraverso l'ambiente, si vedrebbero gli avvisi nel log degli errori. Potrebbero assomigliare a questo:
[Thu Sep 25 20:46:51.483207 2014] [cgi:error] [pid 26424] [client 10.82.90.125:55631] AH01215: /bin/bash: warning: HTTP_ACCEPT_LANGUAGE: ignoring function definition attempt
[Thu Sep 25 20:46:51.483316 2014] [cgi:error] [pid 26424] [client 10.82.90.125:55631] AH01215: /bin/bash: error importing function definition for 'HTTP_ACCEPT_LANGUAGE'