This was a relatively standard kernel heap exploitation challenge featuring a kernel module with functionality for adding, deleting, editing and viewing “NFTs”, which act as kernel heap buffers of 256 bytes.
This challenge featured a client and server binary both running on the same system operating as a basic mail sending/receiving service. The mailserver binary was being run internally on the system, listening on a port(that port was hidden from us) whilst the mailclient binary is what was run on connection to the challenge.
This was a pretty interesting c++ binary exploitation challenge I solved(first blood, always be flexing 😛) It consisted of a no pie and partial relro heap exploitation of a vulnerable C++ implementation of breadth first search unweighted shortest-path finding.
The maplewave challenges featured a custom binary to encode audio data in a custom format, with no available playback function. It involved 3 challenges, each with a different encoding method, in which we needed to extract the raw audio data and find a way to play it. My teammates solved the first challenge while I solved the latter two, and in the process I learned a few things about audio signals and different transforms, very much enjoyed playing the challenges!
PwnyOS is a custom operating system that was developed for uiuctf 2020 and made a return in 2021 with a new version(1.1). I found it a very interesting idea that taught me a lot about how things work at a lower level in operating systems and computers, so I’d like to thank Ravi for taking the effort to create the OS and these challenges.