Index 🗄️
- Service recap
- Optimization
- ENOWARS 5
- Reflection
Refreshing Memories 💾
- Plaintext service written in C
- Users upload STL files for parsing
- Private and public storage (2 flagstores)
- Vuln: Deserialization
- Vuln: Hash preimage

Issues 😒
- Slow search / list operations
- Enochecker memory leak without patch
- Engine error on worker restart with patch
- Logs not showing up in ELK
Solutions 💡
- Index files with locks for directory listing
- Refactored checker for asyncio
- Condensed checker functionality
- Increase docker-compose log size
OSError 💢
- Checker throws
INTERNAL_ERROR on bad connection
- Fixed in c97789ad.. of enochecker3

Checker Overload 💥
- Checker tasks being aborted for every team

Checker Overload 💥

Anomaly 👽

Feedback 🤔
- flagstore exploited after ~4h (R190)
- flagstore not exploited

Conclusion 🎉
- Relatively good uptime
- Not too easy / hard
- Users found vulns interesting
- No (known) unintended vuln
- Had a lot of fun
Slow IO 🐌
- Enumerating files in a directory is expensive
- Index file per directory containing file names
- File locks to ensure exclusive writes

Investigating readdir(..) 🔍
__readdir(..):

Investigating readdir(..) 🔍
__get_dir_entries(..):

Checker Overload

Checker Overload
