pwn 54
- Partie 1 - Introduction
- Partie 2 - Rappels - chargement et exécution d’un programme en mémoire
- Partie 3 - Comprendre la vulnérabilité du stack Buffer Overflow
- Partie 4 - Exploiter un BO - pile exécutable – principes fondamentaux (1/4)
- Partie 5 - Exploiter un BO - pile exécutable – contrôle de EIP/RIP (2/4)
- Partie 6 - Exploiter un BO - pile exécutable – construction du shellcode (3/4)
- Partie 7 - Exploiter un BO - pile exécutable – exploitation complète (4/4)
- Partie 8 - Exploiter un BO - attaque ret2libc – concepts et prérequis (1/2)
- Partie 9 - Exploiter un BO - attaque ret2libc – mise en œuvre pratique (2/2)
- Partie 10 - Comprendre les mécanismes de protection du BO - les canaris
- Partie 11 - Contourner les canaris - exploitation d’un BO protégé (1/2)
- Partie 12 - Contourner les canaris - exploitation avancée et limites (2/2)
- Partie 13 - 🏆 Challenge - exploiter un binaire avec ret2libc et canaris
- Partie 14 - Comprendre les mécanismes de protection mémoire - RELRO
- Partie 15 - Comprendre les vulnérabilités de type format string – introduction (1/5)
- Partie 16 - Exploiter les format strings - primitives de lecture et écriture mémoire (2/5)
- Partie 17 - Exploiter les format strings - primitives avancées d’écriture mémoire (3/5)
- Partie 18 - Exploiter les format strings - bonus (4/5)
- Partie 19 - 🏆 Challenge - exploitation complète des format strings (5/5)
- Partie 20 - Introduction à l’exploitation par ROP (1/6)
- Partie 21 - Exploiter un binaire par ROP - construction de chaînes de gadgets (2/6)
- Partie 22 - Exploiter un binaire par ROP - techniques avancées et cas particuliers (3/6)
- Partie 23 - Exploiter un binaire par ROP - SROP et JOP (4/6)
- Partie 24 - Exploiter un binaire par ROP - BROP – exploitation en boîte noire (5/6)
- Partie 25 - 🏆 Challenge - exploitation avancée par ROP (6/6)
- Partie 26 - Seccomp - fonctionnement (1/2)
- Partie 27 - Seccomp - exploitation et stratégies de contournement (2/2)
- Partie 28 - Méthodologie - comment identifier et analyser des vulnérabilités
- Partie 29 - Conclusion
- Partie 30 - Annexe - mise en place et résolution des challenges
- Partie 1 - Introduction
- Partie 2 - Théorie de la heap - structures internes et métadonnées
- Partie 3 - Organisation de la heap - les corbeilles
- Partie 4 - Le tcache - fonctionnement et objectifs (1/4)
- Partie 5 - Le tcache - allocations et libérations internes (2/4)
- Partie 6 - Exploiter les vulnérabilités du tcache - primitives et scénarios (3/4)
- Partie 7 - 🏆 Challenge - exploitation du tcache (4/4)
- Partie 8 - Les fastbins - fonctionnement interne (1/4)
- Partie 9 - Les fastbins - mécanismes de protection (2/4)
- Partie 10 - Exploiter les vulnérabilités des fastbins - primitives et scénarios (3/4)
- Partie 11 - 🏆 Challenge - exploitation des fastbins (4/4)
- Partie 12 - Pistes générales d’exploitation dans la heap - concepts clés (1/2)
- Partie 13 - Pistes générales d’exploitation dans la heap - mise en œuvre pratique (2/2)
- Partie 14 - La unsorted bin - rôle et fonctionnement (1/4)
- Partie 15 - La unsorted bin - mécanismes de protection (2/4)
- Partie 16 - Exploiter les vulnérabilités de la unsorted bin - primitives et scénarios (3/4)
- Partie 17 - 🏆 Challenge - exploitation de la unsorted bin (4/4)
- Partie 18 - Les small bins - fonctionnement et exploitation (1/2)
- Partie 19 - Les small bins - mécanismes de protection (2/2)
- Partie 20 - Les large bins - fonctionnement et cas d’usage (1/2)
- Partie 21 - Les large bins - mécanismes de protection (2/2)
- Partie 22 - Synthèse - vue d'ensemble des différents types de corbeilles
- Partie 23 - Annexe n°1 - comment compiler et déboguer un programme avec une version spécifique de la libc
- Partie 24 - Annexe n°2 - gérer plusieurs versions de gdb et principales commandes pour déboguer le tas