Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

wiki:buffers_overflows [2018/04/23 19:13] (Version actuelle)
Ligne 1: Ligne 1:
 +Le fonctionnement général d'un buffer overflow est de faire exécuter un code arbitraire par un programme en  écrivant dans un buffer plus de données qu'il ne peut en contenir. ​
 +
 +Lorsque vous lancez un programme, l'OS lui attribut de l’espace mémoire pour travailler.\\ ​
 +La mémoire s’organise via plusieurs registres, dont le plus important: EIP pour Extended Instruction Pointer. \\ 
 +C'est en modifiant ce registre que l'on va pouvoir prendre la main et exécuter notre shellcode. \\
 +
 +Voici un exemple de code vulnérable : 
 +
 +<code c>
 +#include <​string.h>​
 +
 +void vuln(char * oflow)
 +{
 +        char buf[25];
 +        strcpy(buf, oflow);
 +}
 +
 +void main (int argc, char ** argv)
 +{
 +        vuln(argv[1]);​
 +}
 +</​code>​
  
wiki/buffers_overflows.txt · Dernière modification: 2018/04/23 19:13 (modification externe)
CC0 1.0 Universal
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5