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