Les failles de format dans le développement d'applications
[STACK-BASED BUFFER OVERFLOW]
if ($page == "introduction") echo "
"; else echo "
"; ?> Introduction if ($page == "introduction") echo "
"; else echo ""; ?> if ($page == "organisation"){ echo "
"; } else echo "
"; ?> Organisation du processus en mémoire if ($page == "organisation"){ echo "
"; echo "
"; echo "
Qu'est ce qu'un programme
"; echo "
Les zones mémoires
"; echo "
Exemple détaillé
"; echo "
"; } else echo ""; ?> if ($page == "pile")echo "
"; else echo "
"; ?> La pile if ($page == "pile")echo "
"; else echo ""; ?> if ($page == "bo")echo "
"; else echo "
"; ?> Fonctionnement d'un Buffer Overflow if ($page == "bo"){ echo "
"; echo "
"; echo "
Introduction aux fonctions
"; echo "
Prologue
"; echo "
Appel de fonction
"; echo "
Retour de fonction
"; echo "
Désassemblage
"; echo "
"; } else echo "";?> if ($page == "shellcode")echo "
"; else echo "
"; ?> Le shellcode if ($page == "shellcode"){echo "
"; echo "
"; echo "
Des explications
"; echo "
En langage C
"; echo "
Les appels en assembleur
"; echo "
"; } else echo "";?> if ($page == "exploit")echo "
"; else echo "
"; ?> Ecriture de l'exploit if ($page == "exploit"){ echo "
"; echo "
"; echo "
Localisation en mémoire
"; echo "
Les octets nuls
"; echo "
Construction du shellcode
"; echo "
"; } else echo ""; ?> if ($page == "eviter")echo "
"; else echo "
"; ?> Comment éviter les buffers overflow if ($page == "eviter"){echo "
"; echo "
"; echo "
Vérifier les indices
"; echo "
Les fonctions en n
"; echo "
saisies en deux temps
"; echo "
Utiliser des buffers dynamiques
"; echo "
"; } else echo ""; ?> if ($page == "link")echo "
"; else echo "
"; ?> Annexe: Différents liens if ($page == "link")echo "
"; else echo ""; ?>
if (file_exists($page.".php")) { include($page.".php"); } else echo "
Désolé, la page demandée n'est pas encore prête.
"; ?>
Sébastien Fleury