App - Système

lundi 25 juin 2018, 20:44  #1
ELF x86 - Stack buffer overflow basic 1 incompréhension changement de valeur check
tch0_0p
  • 10 posts

Bonjour à tous,

j’ai réussi le challenge ELF x86 - Stack buffer overflow basic 1 mais il y a néanmoins quelque chose qui m’échappe, pourquoi lorsque l’on rentre exactement le nombre de caractères correspondant à la taille du buffer, la valeur du check change déjà ? Alors que pour moi il n’y a pas encore de dépassement normalement.
J’ai mis en annexe l’état de ma pile après avoir passé le fgets, la valeur tout en bas à droite étant la valeur du check(qui d’après moi devrait être 0x04030201 et pas 0x0403000a).

Merci d’avance pour vos explications


mardi 26 juin 2018, 00:14  #2
ELF x86 - Stack buffer overflow basic 1 incompréhension changement de valeur check
dagger
  • 7 posts

Le caractère 0x0a correspond au retour à la ligne ("\n"), il doit y avoir un "\n" à la fin de ta chaine de caractère  😉

mardi 26 juin 2018, 09:35  #3
ELF x86 - Stack buffer overflow basic 1 incompréhension changement de valeur check
tch0_0p
  • 10 posts

Sans doutes le enter du coup

Merci beaucoup !

dimanche 19 août 2018, 04:15  #4
ELF x86 - Stack buffer overflow basic 1 incompréhension changement de valeur check
frodomo
  • 3 posts

Bonjour,

je me pose la même question. Le caractère inséré par fgets devrait être 0x0a et non 0x000a. Pourquoi 2 octets au lieu d’un seul ?