From 903049b64e336a0973b342321863a79821abfecd Mon Sep 17 00:00:00 2001 From: TristanBALDIT <147644133+TristanBALDIT@users.noreply.github.com> Date: Wed, 14 Feb 2024 19:27:58 +0100 Subject: [PATCH] Update FSCS-2021-Intro-Bofbof.md --- src/content/posts/FSCS-2021-Intro-Bofbof.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/content/posts/FSCS-2021-Intro-Bofbof.md b/src/content/posts/FSCS-2021-Intro-Bofbof.md index 30319ea..cb0c3dd 100644 --- a/src/content/posts/FSCS-2021-Intro-Bofbof.md +++ b/src/content/posts/FSCS-2021-Intro-Bofbof.md @@ -1,4 +1,10 @@ -# Write Up : BofBof (intro FCSC 2021) +--- +title: "write-up : bofbof (FCSC intro 2021)" +date: 2024-02-14 +#draft: true +draft: false +tags: ["iscsc","blog","posts"] +--- ## Présentation du challenge @@ -238,15 +244,15 @@ Lors de la seconde il vaut `0x1122334455667788`. Maintenant tentons de comprendre ce que vaut `-0x8(%rbp)` pour cela lançons `gdb` et plaçons nous juste avant l'appel à `gets` : -![](../data/wu3.png) -![](../data/wu.png) +![](../../data/wu3.png) +![](../../data/wu.png) On a donc la valeur actuelle de `-0x8(%rbp)` et c'est celle-ci qu'il va falloir changer, l'objectif est donc d'y écrire `0x1122334455667788` pour que le programme ne prenne aucun des deux sauts. Avançons donc d'une instruction pour voir où se trouve le buffer issu de `gets` : -![](../data/wu4.png) +![](../../data/wu4.png) On a donc l'emplacement du buffer dans la stack et surtout son emplacement relatif par rapport à `rbp` (différence de `0x38`). Ainsi, il faut rentrer par exemple `"A"*40 + 0x1122334455667788` pour réécrire correctement `-0x8(%rbp)`. @@ -271,6 +277,6 @@ target.interactive() ## laisse le terminal du docker ouvert Lançons `bofbof.py` et regardons ce que cela donne : -![](../data/wu6.png) +![](../../data/wu6.png) -On a donc réussi à accéder à un terminal et `cat flag.txt` permet d'accéder à `flag.txt`. \ No newline at end of file +On a donc réussi à accéder à un terminal et `cat flag.txt` permet d'accéder à `flag.txt`.