[極客大挑戰 2019]EasySQL
2020年7月15日
繞圈子的解法
1.測試簡單注入語句
有報錯回顯
所以密碼框存在注入,可以用’閉合
當輸入2”時,正常返回密碼錯誤
接下來用%23作注釋符,可以得到頁面正常。
sql中用#作為注釋,這是用get傳遞數據,用url編碼一下就是%23
然后開始查有多少字段
測試到3的時候發現可以正常顯示了,說明前面的查詢字段有3個
構造語句,開始查當前數據庫
Payload:username=1&password=1' union select null,null,(select database()) %23
有三個查詢字段,所以union 后面的語句填充兩個null,和一個查當前庫的語句
查到數據庫就已經爆出flag
實際上的一般解法
2020年7月23日09:16:22
實際上這道題是登錄成功就可以拿到flag
在用戶名和密碼都填:
payload:' or 1=1
由於用戶名和密碼都存在sql注入漏洞,可以用'
閉合前面的查詢語句同時用or
繞過判斷