- Introduction
- Practical Sessions Setup
- Course
- 1. Secure Programming
- 2. Buffer Overflow
- 3. Rust Introduction
- 4. Cryptography
- 5. Web Security
- 6. Chapter 6
- 7. Chapter 7
- 8. Chapter 8
- Practical Sessions
- 9. Session 1: C Pitfalls
- 9.1. Null Pointer Dereference
- 9.2. Double Free
- 9.3. Use After Free & Dangling Pointer
- 9.3.1. Solution
- 9.4. Integer Underflow & Overflow
- 9.4.1. Solution
- 9.5. Buffer Overflow
- 9.6. Target Dependent Type Size
- 9.6.1. Solution
- 9.7. Final Exercise
- 9.7.1. Solution
- 9.8. Going Further
- 10. Session 2: Buffer Overflow
- 10.1. Secret Function
- 10.2. Shell Code
- 10.3. Going Further
- 11. Session 3: Rustlings
- 12. Session 4: Cryptography
- 12.1. How?
- 12.2. Why?
- 12.3. Age Verification
- 12.4. Reusing Keys
- 12.4.1. Solution
- 12.5. Going Further
- 13. Session 5
- 14. Session 6