A Binary Exploitation Learning Path Through CTFs
A staged, legal path from C and assembly to CTF pwn challenges: what to learn in which order, practice platforms built for it, lab rules, and how it leads to defensive careers.
La sûreté mémoire, côté défense
Une référence structurée sur les vulnérabilités de corruption mémoire en C et C++ : comment naissent débordements de pile et de tas, use-after-free et bugs d'entiers, et comment compilateurs, sanitizers, fuzzers et langages plus sûrs les arrêtent.
Carte mémoire
Commencez par l'organisation de la mémoire, découvrez les classes de bugs qui la corrompent, puis les couches qui les préviennent, les détectent, les contiennent et les trient.
Pile, tas, segments ELF et conventions d'appel : le terrain de chaque bug.
Débordements, use-after-free, double free, bugs d'entiers et de chaînes de format, et comment les repérer.
Canaris, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET et PAC, et comment les vérifier.
AddressSanitizer, UBSan et fuzzing guidé par la couverture avec libFuzzer et AFL++.
Lire signaux, backtraces, rapports de sanitizers et core dumps, et décider quoi corriger en premier.
Langages sûrs pour la mémoire, C++ plus sûr et une stratégie de migration réaliste.
Un parcours légal et progressif, du C et de l'assembleur aux épreuves pwn de CTF et aux métiers de la sécurité.
Défense en profondeur
Chaque mitigation a ses angles morts. La vraie résilience vient de l'empilement des couches : un bug qui passe l'une est détecté ou contenu par la suivante.
Langages sûrs pour la mémoire, API avec vérification des bornes, avertissements du compilateur et revue de code empêchent d'écrire les bugs.
ASan, UBSan et le fuzzing guidé par la couverture révèlent les bugs écrits, avant un attaquant.
Canaris, NX, ASLR/PIE, RELRO, CFI et shadow stacks rendent les bugs restants difficiles à exploiter.
Triage des crashs, core dumps et déduplication transforment les crashs terrain en correctifs priorisés.
Derniers guides
Les guides sont publiés d'abord en anglais. Les traductions suivront.
A staged, legal path from C and assembly to CTF pwn challenges: what to learn in which order, practice platforms built for it, lab rules, and how it leads to defensive careers.
Why memory-safe languages remove whole bug classes, what Rust's ownership model guarantees, where unsafe code and FFI remain risky, and how to harden the C++ you keep.
Write a fuzz harness, build it with sanitizers, run libFuzzer and AFL++, manage corpora and dictionaries, and run continuous fuzzing in CI with OSS-Fuzz or ClusterFuzzLite.
Triage native crashes like a defender: what SIGSEGV and SIGABRT mean, glibc abort messages, gdb and core dumps, ASan reports, WinDbg, and how to prioritise memory-safety crashes.
How ASan, UBSan, MSan, TSan and HWASan work, which flags and runtime options to use, how to read an ASan report line by line, and how to run sanitizers in CI.
How forward-edge and backward-edge control-flow integrity work, from Clang CFI and Microsoft CFG to Intel CET shadow stacks and Arm pointer authentication, and their limits.
Glossaire
Des définitions courtes et précises des termes rencontrés dans les avis de sécurité, les rapports de crash et la documentation des compilateurs.
Ligne éditoriale
Comprendre l'exploitation donne tout son sens aux mitigations. Nous expliquons les mécanismes au niveau dont ont besoin un développeur, un relecteur ou un intervenant en réponse à incident, sans aller jusqu'à l'armement.
Ce que vous trouverez
Ce que nous ne publions jamais