User Tools

Site Tools


teme:tema-3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teme:tema-3 [2016/01/19 00:46]
adrian.bogatu [Tema 3]
teme:tema-3 [2016/01/19 10:55] (current)
razvan.deaconescu [Tema 3]
Line 1: Line 1:
 ====== Tema 3 ====== ====== Tema 3 ======
  
-* Deadline Soft: 19.01.2016 23:55 +* Deadline Soft: 20.01.2016 23:55 
-* Deadline Hard: 19.01.2016 23:55+* Deadline Hard: 20.01.2016 23:55
 * Data publicării:​ 09.01.2016 ''​01:​15''​ * Data publicării:​ 09.01.2016 ''​01:​15''​
-* Data ultimei modificări:​ 19.01.2016 ''​00:46''​+* Data ultimei modificări:​ 19.01.2016 ''​10:55''​
 * Responsabili:​ * Responsabili:​
   * [[vladimir.diaconescu@cs.pub.ro|Vladimir Diaconescu]]   * [[vladimir.diaconescu@cs.pub.ro|Vladimir Diaconescu]]
Line 22: Line 22:
 ===== Setup ===== ===== Setup =====
  
-Pentru dezvoltarea temei recomandăm ​să folosiți mașina virtuală de Windows descrisă în secțiunea [[:​utile#​masini-virtuale|Mașini virtuale]] din pagina de resurse. Mașina virtuală de Windows este numită ''​SSS - Windows 7 32bit''​. Această mașină virtuală este folosită și pentru verificarea temei pe [[https://​vmchecker.cs.pub.ro/​ui/#​IOCLA|vmchecker]].+Pentru dezvoltarea temei va trebui ​să folosiți mașina virtuală de Windows descrisă în secțiunea [[:​utile#​masini-virtuale|Mașini virtuale]] din pagina de resurse. Mașina virtuală de Windows este numită ''​SSS - Windows 7 32bit''​. Această mașină virtuală este folosită și pentru verificarea temei pe [[https://​vmchecker.cs.pub.ro/​ui/#​IOCLA|vmchecker]]. 
 + 
 +<note important>​ 
 +Puteți testa anumite funcționalități pe alt sistem, dar implementarea voastră trebuie să meargă pe mașina virtuală. Este posibil ca, datorită mediului diferit, anumite payload-uri să meargă pe un alt sistem dar nu pe mașina virtuală. Folosiți, ca referință,​ mașina virtuală. 
 +</​note>​
  
 În [[http://​elf.cs.pub.ro/​asm/​res/​teme/​iocla-tema3-resurse.zip|arhiva de resurse a temei]] veți vedea că există fișierul ''​seed.c'',​ precum și scriptul Python ''​mangler.py''​. În [[http://​elf.cs.pub.ro/​asm/​res/​teme/​iocla-tema3-resurse.zip|arhiva de resurse a temei]] veți vedea că există fișierul ''​seed.c'',​ precum și scriptul Python ''​mangler.py''​.
Line 48: Line 52:
 gcc -o tema3.exe tema3.c gcc -o tema3.exe tema3.c
 </​code>​ </​code>​
 +
 +==== Simplificat ====
 +
 +Toți pașii de mai sus sunt realizați de scriptul de verificare (''​checker.py''​) din [[http://​elf.cs.pub.ro/​asm/​res/​teme/​iocla-tema3-resurse.zip|arhiva de resurse a laboratorului]]. Prin rularea scriptului de verificare se configurează variabila de mediu ''​PATH''​ se generează fișierul ''​tema3.c''​ și apoi se obține fișierul executabil aferent și se validează conținutul payload-urilor.
  
 ==== Dezactivare ASLR ==== ==== Dezactivare ASLR ====
Line 91: Line 99:
 Temele vor trebui încărcate pe platforma [[https://​vmchecker.cs.pub.ro/​ui/#​IOCLA|vmchecker]] (în secțiunea IOCLA) și vor fi testate automat. Arhiva încărcată va fi o arhivă ''​.zip''​ care trebuie să conțină: Temele vor trebui încărcate pe platforma [[https://​vmchecker.cs.pub.ro/​ui/#​IOCLA|vmchecker]] (în secțiunea IOCLA) și vor fi testate automat. Arhiva încărcată va fi o arhivă ''​.zip''​ care trebuie să conțină:
   * fișierele cu intrările pentru program: ''​payload_a'',​ ''​payload_b'',​ ''​payload_c''​   * fișierele cu intrările pentru program: ''​payload_a'',​ ''​payload_b'',​ ''​payload_c''​
-  ​fișierul sursă aferent: ''​tema3.c''​+    ​Dacă ați folosit un script atunci adăugați în arhiva submisă ​și scriptul cu care ați obținut acele payload-uri. 
 +      * Dacă nu ați folosit un script atunci adăugați în README modul de obținere a payload-urilor.
   * fișierul ''​credentials.txt''​ care conține numele, prenumele și a 3-a cifră din numărul grupei, fiecare pe câte o line, astfel:   * fișierul ''​credentials.txt''​ care conține numele, prenumele și a 3-a cifră din numărul grupei, fiecare pe câte o line, astfel:
 <​code>​ <​code>​
Line 115: Line 124:
 ===== Precizări suplimentare ===== ===== Precizări suplimentare =====
  
-În cadrul corectării, ​vom verifica dacă ''​tema3.c''​ este într-adevăr fișierul ​generat pornind de la ''​seed.c''​ și datele voastre. ​Dacă există diferențe, nu se merge mai departe în procesul ​de corectare.+În cadrul corectării, ​fișierul ​''​tema3.c''​ este generat ​în mod automat ​pornind de la ''​seed.c''​ și datele voastre ​din fișierul ''​credentials.txt''​. Acest lucru este realizat de scriptul de verificare ''​checker.py''​ care verifică și corectitudinea conținutului fișierelor ​de tip payload. 
 + 
 +Datele din fișierul ''​credentials.txt''​ trebuie să fie corecte, cu excepția motivelor bine întemeiate.
  
 Din moment ce programul de intrare scris în C este dat, analiza statică presupune să interpretați cod C, nu assembly. Din moment ce programul de intrare scris în C este dat, analiza statică presupune să interpretați cod C, nu assembly.
teme/tema-3.1453157177.txt.gz · Last modified: 2016/01/19 00:46 by adrian.bogatu