BUUCTF [GYCTF2020] Blacklist
生活随笔
收集整理的這篇文章主要介紹了
BUUCTF [GYCTF2020] Blacklist
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
BUUCTF [GYCTF2020] Blacklist
啟動靶機:
提交參數(shù)1后正常回顯內(nèi)容:
輸入2/2判斷注入類型:
回顯為2,可以判斷出為字符型注入
輸入select,查看是否存在回顯:
回顯出了黑名單限制的關(guān)鍵字
沒限制關(guān)鍵字show,所以通過堆疊注入先查看庫名:
繼續(xù)獲取表名:
得到兩個表:FlagHere和words,查詢FlagHere表中詳細結(jié)構(gòu):
1';desc FlagHere;
得到flag列,推測其應(yīng)為flag,嘗試獲取其內(nèi)容,但因關(guān)鍵字select被限制,查詢資料得知HANDLER也可作為查詢語句,且性能比select更好,因為其為非SQL標(biāo)準(zhǔn)語法,可以降低優(yōu)化器對于SQL語句的解析與優(yōu)化開銷,從而提升查詢性能。
具體語法:
HANDLER tbl_name OPEN [ [AS] alias] HANDLER tbl_name READ index_name { = | <= | >= | < | > } (value1,value2,…) [ WHERE where_condition ] [LIMIT … ] HANDLER tbl_name READ index_name { FIRST | NEXT | PREV | LAST } [ WHERE where_condition ] [LIMIT … ] HANDLER tbl_name READ { FIRST | NEXT } [ WHERE where_condition ] [LIMIT … ] HANDLER tbl_name CLOSEHANDLER可以通過指定的索引去訪問數(shù)據(jù)。但此語法并不支持DML操作。
可構(gòu)造如下的Payload:
1';HANDLER FlagHere open;HANDLER FlagHere read first;HANDLER FlagHere close;#也就是通過HANDLER從FlagHere表中,讀取第一個索引記錄,然后關(guān)閉。
黑名單限制了部分關(guān)鍵字,其中包含最主要的SELECT關(guān)鍵字,通過堆疊注入的方式,使用HANDLER作為查詢語句,讀取flag。
總結(jié)
以上是生活随笔為你收集整理的BUUCTF [GYCTF2020] Blacklist的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android,IOS QQ在线客服代码
- 下一篇: Mapbox实现自定义经纬网及标注