mercoledì 30 novembre 2011

Nebula level01 writeup

Il livello 01 ha un leggerezza nel codice che è sfruttabile tramite il comando export $PATH... La leggerezza sta nell'usare
system("/usr/bin/env echo and now what?");
nel codice... Per comprendere perchè questo livello rientra nel caso dei $PATH weaknesses si deve comprendere come lavora env... Infatti va a ricercare dentro a $PATH il comando echo... Questo comporta che modificando $PATH e scrivendo il proprio echo, compilando con gcc si può eseguire un comando a piacere... Ed è proprio questa la vulnerabilità del codice... Così si può scrivere con poche righe qualcosa del genere:

Basta poco e si può ottenere un comando echo personalizzato... Si compila e si imposta la nuova $PATH e si lancia il flag01 contenuto dentro alla cartella /home/flag01/... Questi i comandi, dentro al file echo.c incollare il codice soprastante:

Penso che il livello 01 sia risolto, anche perchè getflag dice che è corretto...

Nessun commento: