Problema
Psst, Agent 513, now that you’re an employee of Evil Empire Co., try to get their secrets off the company website. link Can you first find the secret code they assigned to you? or http://2019shell1.picoctf.com:12234
Soluzione
Provo il form di registrazione, metto apice '
ma nulla; probabilmente non è attaccabile.
Provo a mettere l’apice '
per l’inserimento di un nuovo TODO e ottengo un 500 internal server error: ok, il campo è debole a injection.
In particolare visto che sto inserendo un nuovo valore sarà una INSERT injection, l’obiettivo sarà scrivere nella lista dei TODO il risultato di una query.
Immagino che il server effettui una query analoga a:
Devo modificare il {0}
in modo che fornisca una query valida ma iniettandoci il risultato di una altra query.
Dopo qualche tentativo inserisco:
e vedo che tra i TODO vi è il valore “1”. Ci siamo! Provo a capire lo schema del database, per farlo cerco di capire che DBMS sto utilizzando, alla fine trovo una query funzionante:
Questa query fornisce:
Dopo qualche tentativo provo a vedere quale è il secret associato al mio utente con
e ottengo il CTF!
picoCTF{wh00t_it_a_sql_inject46527b2c}