Tags: flask sql urlencode jwt 

Rating:

TLDR: Use SQLI in the backend application to exfiltrate the flag from another table in the database. To do this, you need to an admin. Backend doesn't validate the JWT, Frontend does. So, you will need to use a difference in parsing by the frontend (as json) and the backend (from url-encoded string) to smuggle a fake jwt to the backend.

Full writeup: https://www.norelect.ch/writeups/insomnihack2023/rater/

Original writeup (https://www.norelect.ch/writeups/insomnihack2023/rater/).