The website of the course, with all the assignments, can be found here.
The topics of the different assignments are:
- Homework 0 - setup of homework environment: Docker, SQL and Python.
- Homework 1 - low-level programming attacks: buffer overflow.
- Homework 2 - crypto for integrity and authentication: HMAC and PAKE.
- Homework 3 - password cracking: brute force and dictionary attacks, bcrypt server.
- Homework 4 - network attacks: sniffing, TLS downgrade, secure nginx configuration.
- Homework 5 - SQL injection attacks, prepared statements as defense.
- Homework 6 - Timing side channel attack to crack a secret token.
- Homework 7 - Machine Learning model stealing.
- Homework 8 - Database de-anonymization and differential privacy as defense.
- Homework 9 - Blockchain (not-completed yet).