Update 'README.md'

main
Nicolas FRANCO 2 years ago
parent 95cf1b98db
commit d2f93b52fd

@ -44,6 +44,18 @@ Utilisez `clang` pour compiler celui-ci :
clang -o rop vulnerable.c -m64 -fno-stack-protector -Wl,-z,relro,-z,now,-z,noexecstack -static
```
_Explication :_
> clang : Le compilateur Clang est utilisé pour compiler le code source.
> -o rop : Spécifie le nom du fichier de sortie, "rop" dans ce cas.
> vulnerable.c : Le fichier source C à compiler, "vulnerable.c" ici.
> -m64 : Indique que l'on souhaite compiler en mode 64 bits.
> -fno-stack-protector : Désactive la protection du stack, ce qui peut être nécessaire pour les exploits.
> -Wl,-z,relro,-z,now,-z,noexecstack : Options passées au linker (ld) pour spécifier diverses options de sécurité :
> -z,relro : Active la relocalisation en lecture seule, renforcant la sécurité des structures de données.
> -z,now : Demande au linker de résoudre toutes les références symboliques immédiatement, plutôt qu'à la demande, renforçant ainsi la sécurité.
> -z,noexecstack : Empêche l'exécution de code à partir de la pile.
> -static : Indique au linker de lier statiquement les bibliothèques, plutôt que dynamiquement. Cela signifie que toutes les bibliothèques seront incluses dans le binaire final.
***1.*** Lorsque vous compilez ce premier programme, quelle fonction est annoncée comme dangereuse et présente la première faille pour effectuer l'attaque ROP ?
On remarque donc la présence d'un `buffer overflow`, nous allons désormais passer à ce binaire un gros buffer à l'aide de la commande suivante :

Loading…
Cancel
Save