PIR/attaque_brop/README.md
2021-04-27 18:40:37 +02:00

834 B

Attaque "blind ROP"

Instructions

Compilation du programme vulnérable :

gcc echo.c -o echo

Installation du module python pwn

pip install pwn

Lancement du programme vulnérable en le liant à un port tcp

socat -v tcp-l:31337,fork exec:'./echo'

Attaque

python3 attaque.py

On peut ajouter DEBUG en paramètre pour voir les données envoyées et reçues.

Résultats

On peut exécuter la fonction C brop() en écrasant l'adresse de retour par son adresse. Pour cela, on récupère d'abord le canary, puis la véritable adresse de retour. On peut ensuite écraser le canary et rbp par leur valeur, puis l'addresse de retour par sa valeur + un offset, et ce jusqu'à trouver brop(). On voit qu'on arrive à exécuter des instructions qui appartiennent à brop(), car on voit le print "brop".