This is a write-up of the 2018 STB challenge: https://github.com/securifybv/spotthebug/tree/master/STB_2018
When first opening the repository, I see two interesting files; a PHP file, and a C++ file.
The C++ has a BaseCGIClass (which has no functionality), and two children classes of the BaseCGIClass. I immediately notice the std::system
call in the Executor
class. The Logger
class seems to not have any potential side effects. In the main
function, I assume the Cgicc
is an interface for the CGI protocol. This means formData("encryptedData")
likely returns user input. We can control this.