Unionize
Challenge
A school lookup that returns names matching the one you submit. The single text field goes straight into a query.
Approach
A boolean payload confirmed the injection and told me the backend and column count in one shot:
| |
The response included 3.41.1, so it is SQLite, and the UNION works with a single output column. Everything after this is one-column enumeration.
Solution
Read the schema out of sqlite_schema:
| |
CREATE TABLE mystery(unkn0wn TEXT)
CREATE TABLE school_data(name TEXT)
mystery.unkn0wn is the obvious target. Dump it:
| |
The flag comes back alongside the school list.
Flag
bcactf{1_L0v3_sQl_UN10n_QU3r13S}