This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teme:tema-3 [2016/01/19 00:46] adrian.bogatu [Tema 3] |
teme:tema-3 [2016/01/19 02:49] razvan.deaconescu [Setup] |
||
---|---|---|---|
Line 4: | Line 4: | ||
* Deadline Hard: 19.01.2016 23:55 | * Deadline Hard: 19.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 ''01:46'' |
* 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'' | ||
+ | * 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 sursă aferent: ''tema3.c'' | * fișierul sursă aferent: ''tema3.c'' | ||
* 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: |