User Tools

Site Tools


secure-low-level-programming:capitole:07-intregi

Differences

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

Link to this comparison view

Next revision
Previous revision
secure-low-level-programming:capitole:07-intregi [2018/12/16 13:30]
127.0.0.1 external edit
secure-low-level-programming:capitole:07-intregi [2018/12/19 13:48] (current)
razvan
Line 1: Line 1:
 ====== 7. Lucrul cu întregi ====== ====== 7. Lucrul cu întregi ======
  
-TODO: Descriere scurtă+Întregii sunt folosiți pe parcursul programelor și pot fi cauze de probleme. Atunci când facem comparații sau atribuiri între întregi de diferite tipuri pot apărea probleme exploatabile. Mai mult, operațiile de adunare sau înmulțire de întregi sunt cauzatoare de //integer overflows//,​ alte surse de probleme.
  
 ===== 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''​.
  
secure-low-level-programming/capitole/07-intregi.1544959809.txt.gz · Last modified: 2018/12/16 13:30 by 127.0.0.1