From 4296f3a394fb4d29795e2e95cffe3c335330fcc4 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Mon, 17 Apr 2023 18:06:09 +0200 Subject: [PATCH] Last part of TD6 --- .../files/q1/vulnerable-1_32-pie.gdb | 2 ++ .../secu_logicielle/td6-format_strings_vulns/index.md | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 content/secu_logicielle/td6-format_strings_vulns/files/q1/vulnerable-1_32-pie.gdb diff --git a/content/secu_logicielle/td6-format_strings_vulns/files/q1/vulnerable-1_32-pie.gdb b/content/secu_logicielle/td6-format_strings_vulns/files/q1/vulnerable-1_32-pie.gdb new file mode 100644 index 0000000..7289c09 --- /dev/null +++ b/content/secu_logicielle/td6-format_strings_vulns/files/q1/vulnerable-1_32-pie.gdb @@ -0,0 +1,2 @@ +b printf +r diff --git a/content/secu_logicielle/td6-format_strings_vulns/index.md b/content/secu_logicielle/td6-format_strings_vulns/index.md index 1d887e1..9f96a8a 100644 --- a/content/secu_logicielle/td6-format_strings_vulns/index.md +++ b/content/secu_logicielle/td6-format_strings_vulns/index.md @@ -18,10 +18,10 @@ l'ordre)": * `c` * `AAAA` * `0x00000009` - * `AAA` + * `AAAA` Il affiche ensuite la valeur de `value` dans une seconde ligne. Cette valeur a -été définie par notre premier `fprintf` grâce à `%n`. +été définie par notre premier `fprintf` grâce à `%n`. ### Question 2 @@ -69,6 +69,7 @@ représente une remontée dans la pile de 22 éléments. Il nous a suffit de sai %22$p 0xffffc8a8 ``` + ### Question 4 Afin de saisir les 4 entiers , nous avons créé un fichier de commandes gdb @@ -105,6 +106,9 @@ echo -e '\x31\x32\x33\x34 %23$p' | ./build/vulnerable-1_32 1234 0x34333231 ``` +L'adresse donnée dans le `echo` est donnée à l'envers (bits de poind fort en +dernier) car l'architecture *Intel* est de type *little endian*. + ### Question 5 D'après `objdump`, la variable `passwd` se trouve à l'adresse `0x0804c01c` @@ -155,7 +159,7 @@ you have modified the target to 0x6! ### Question 8 Une fois la première modification appliquée, il ne reste plus qu'à forger le -paramètre de notre format pour rendre la condition`if (target == 0x00025544)` +paramètre de notre format pour rendre la condition `if (target == 0x00025544)` vrai. `0x25544` est égal à 152900, en prenant en compte les caractères avant, notre