FAUST CTF 2024 - Floppcraft Writeup
We participated in FAUST CTF 2024 under the pseudonym “TeamCalabria” (unfortunately stolen on CTFTime by some CTFTime point hoarders). Our member Speedy11CZ managed to first blood the “Floppcraft” challenge. Floppcraft allows users to upload pictures. It also contains some other “secret” endpoints. There are two services: Frontend - Flask application, serves content and generates pages. KeyServer - Generates secrets for signing JWT tokens inside Frontend application. Flags are stored inside Frontend service in “intel” category of requests. It is possible to login using uploading image with “Floppyeti” payload in EXIF data. Flags can be obtained with level 2 permissions. Error in the KeyServer SQL table There was a invalid SQL table in the KeyServer service. Because of this, status code 500 was returned when generating tokens in the KeyServer. KeyServer would correctly return a number to use as the seed of the random generator, but in this case -1 was used as the seed due to an error and poorly written function. ...