Facem o trecere în revistă prin principalele subiecte de securitate și perspectiva atacatorului și apărătorului.
Arhiva de suport pentru exerciții se găsește aici. Descărcați arhiva și apoi decomprimați-o folosind comenzile:
wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/01-concepte-de-securitate-skel.zip unzip 01-concepte-de-securitate-skel.zip
Accesăm directorul command-injection/
din arhiva de suport.
Urmăriți fișierul cod sursă C vuln.c
și rulați executabilul vuln
. Folosiți executabilul în așa fel încât să afișați conținutul fișierului /etc/passwd
.
Accesăm directorul env-control/
din arhiva de suport.
Urmăriți fișierul cod sursă C vuln.c
și rulați executabilul vuln
. Folosiți executabilul în așa fel încât să afișați conținutul fișierului /etc/passwd
.
id
în directorul curent.
De ce a fost nevoie ca în scriptul id
să folosim calea completă către comanda /bin/cat
? Putem să “exploatăm” executabilul vuln
în așa fel încât să nu fie nevoie de calea completă către comanda /bin/cat
?
Accesăm directorul integer-overflow/
din arhiva de suport.
Urmăriți fișierul cod sursă C vuln.cpp
și rulați executabilul vuln
în așa fel încât să afișeze mesajul You got it! Congratulations!.
Accesăm directorul leak/
din arhiva de suport.
De ce este problematic programul vuln.cpp
? Ce poate obține un atacator din accesarea executabilului? Ce se întâmplă dacă decomentăm linia care apelează funcția do_trigger2()
?
Accesăm directorul get-root/
din arhiva de suport.
Urmăriți fișierul cod sursă C vuln.c
și rulați executabilul vuln
. Folosiți executabilul în așa fel încât să afișeze mesajul You got it! Congratulations!.