This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
secure-low-level-programming:capitole:07-intregi [2018/12/19 11:14] razvan |
secure-low-level-programming:capitole:07-intregi [2018/12/19 13:48] (current) razvan |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Subiecte abordate ===== | ===== Subiecte abordate ===== | ||
- | * TODO | + | * tipuri de date întregi |
- | * TODO | + | * operații cu întregi |
+ | * probleme cu întregi | ||
===== Resurse ===== | ===== Resurse ===== | ||
Line 12: | Line 13: | ||
* [[http://koala.cs.pub.ro/training/res/secure-low-level-programming/slides/07-intregi.pdf|Slide-uri]] | * [[http://koala.cs.pub.ro/training/res/secure-low-level-programming/slides/07-intregi.pdf|Slide-uri]] | ||
* [[http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/07-intregi-skel.zip|Arhiva de suport]] | * [[http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/07-intregi-skel.zip|Arhiva de suport]] | ||
- | |||
- | ===== Alte resurse ===== | ||
- | |||
- | * TODO link | ||
- | * TODO link | ||
- | * TODO link | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
Line 24: | Line 19: | ||
wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/07-intregi-skel.zip | wget http://koala.cs.pub.ro/training/res/secure-low-level-programming/arc/07-intregi-skel.zip | ||
unzip 07-intregi-skel.zip | unzip 07-intregi-skel.zip | ||
+ | cd 07-intregi-skel/ | ||
</code> | </code> | ||
- | ==== Exercițiu 1 ==== | + | ==== Tipuri de date întregi ==== |
+ | |||
+ | Accesăm directorul ''integer-types/'' din arhiva de suport. | ||
+ | |||
+ | Urmăriți conținutul fișierului ''prog.c'' și rulați executabilul ''prog''. Urmăriți în program și în rezultatul rulării sale valorile tipurilor de date întregi și dimensiunea lor (''sizeof''). | ||
- | Accesăm directorul ''lalala/'' din arhiva de suport. | + | ==== Număr introdus ==== |
- | TODO | + | Accesăm directorul ''input-number/'' din arhiva de suport. |
- | ==== Exercițiu 2 ==== | + | Urmăriți conținutul fișierului ''prog.c'' și rulați executabilul ''prog''. Urmăriți valoarea unui număr întreg în funcție de interpretarea sa cu semn sau fără semn. |
- | Accesăm directorul ''lalala/'' din arhiva de suport. | + | ==== Smash the Stack Wargame Level 2 ==== |
- | TODO | + | Accesăm directorul ''sts2/'' din arhiva de suport. Este nivelul 2 din wargame-ul [[https://io.netgarage.org/|IO Netgarage (fost IO Smash the Stack)]]. |
- | ==== Exercițiu 3 ==== | + | Urmăriți conținutul fișierului ''level02.c'' și rulați executabilul ''level02''. Obiectivul este să apelați handler-ul de semnal ''catcher()'' prin declanșarea unui semnal de tipul ''FPE'' (//Floating Point Exception//). |
- | Accesăm directorul ''lalala/'' din arhiva de suport. | + | ==== Smash the Stack Wargame Level 7 ==== |
- | TODO | + | Accesăm directorul ''sts7/'' din arhiva de suport. Este nivelul 7 din wargame-ul [[https://io.netgarage.org/|IO Netgarage (fost IO Smash the Stack)]]. |
+ | Urmăriți conținutul fișierului ''level07.c'' și rulați executabilul ''level07''. Obiectivul este să folosiți un buffer overflow și operații cu întregi ca să obțineți un shell, adică să fie satisfăcută condiția ''count == 0x574f4c46''. | ||