cours/content/secu_logicielle/td5-stackoverflow_shellcode/index.md

1.1 KiB

title date tags categories
Sécurité logicielle : TD 5 stack overflow et shellcode 2023-02-10
Assembleur
x86
Sécurité logicielle
TD

Partie 1

Avec l'aide de pframe, nous pouvons voir que lorsque notre boucle itère pour la onzième fois, l'affectation t[11] écrase i et le remet à 0. A ce moment notre boucle reviens à départ; une boucle infinie se produit alors. C'est la conséquence du buffer overflow causée par une mauvaise maitrise des boucles et variables associées.

Partie 2

question 1 et 2

Effectivement le code vu en cours est repris dans cet exemple. Nous sommes cependant en présence de code C avec du code assembleur directement écrit en hexadécimal.

question 4

Lors de l'execution de notre attache en l'observant avec gdb, nous pouvons clairement les éléments de notre attaque : les éléments de la pile contenant les adresses vers notre shellcode, les paffing avec des nop et le shellcode.

On voit aussi apparaitre notre Instruction Pointer dans la pile lorsque notre shellcode est exécuté. Les différents paramètres pour l'appel système se mettent alors en places.