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.
Speichersicherheit aus Sicht der Verteidigung
Eine strukturierte Referenz zu Speicherkorruptions-Schwachstellen in C und C++: wie Stack- und Heap-Überläufe, Use-after-free und Integer-Bugs entstehen und wie Compiler, Sanitizer, Fuzzer und sicherere Sprachen sie stoppen.
Speicherkarte
Beginnen Sie mit dem Speicherlayout, lernen Sie die Fehlerklassen kennen, die ihn korrumpieren, und dann die Schichten, die sie verhindern, finden, eindämmen und priorisieren.
Stack, Heap, ELF-Segmente und Aufrufkonventionen: das Terrain jedes Bugs.
Überläufe, Use-after-free, Double Free, Integer- und Format-String-Bugs und wie man sie erkennt.
Canaries, NX/DEP, ASLR/PIE, RELRO, FORTIFY_SOURCE, CFI, CET und PAC und wie man sie prüft.
AddressSanitizer, UBSan und coverage-gesteuertes Fuzzing mit libFuzzer und AFL++.
Signale, Backtraces, Sanitizer-Berichte und Core-Dumps lesen und entscheiden, was zuerst behoben wird.
Speichersichere Sprachen, sichereres C++ und eine realistische Migrationsstrategie.
Ein legaler, gestufter Weg von C und Assembler zu CTF-Pwn-Challenges und Security-Karrieren.
Defense in Depth
Jede Mitigation hat Lücken. Echte Widerstandsfähigkeit entsteht durch gestaffelte Schichten: Ein Bug, der eine Schicht passiert, wird von der nächsten erkannt oder eingedämmt.
Speichersichere Sprachen, grenzgeprüfte APIs, Compiler-Warnungen und Code-Reviews verhindern, dass Bugs entstehen.
ASan, UBSan und coverage-gesteuertes Fuzzing decken geschriebene Bugs auf, bevor es ein Angreifer tut.
Canaries, NX, ASLR/PIE, RELRO, CFI und Shadow Stacks erschweren die Ausnutzung verbleibender Bugs.
Crash-Triage, Core-Dumps und Deduplizierung machen aus Abstürzen im Feld priorisierte Fixes.
Neueste Leitfäden
Leitfäden erscheinen zuerst auf Englisch. Übersetzungen folgen.
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.
Glossar
Kurze, präzise Definitionen der Begriffe aus Sicherheitshinweisen, Crash-Berichten und Compiler-Dokumentation.
Redaktionelle Linie
Wer Exploitation versteht, versteht, warum Mitigationen sinnvoll sind. Wir erklären die Mechanik auf dem Niveau, das Entwickler, Reviewer und Incident Responder brauchen, und hören vor der Bewaffnung auf.
Was Sie hier finden
Was wir nie veröffentlichen