0x00 直接看源碼吧
早上寫了個注入fuzz的腳本杉女,無聊回到實驗吧的題目進行測試荤胁,發(fā)現(xiàn)了這道題
地址:http://ctf5.shiyanbar.com/web/pcat/index.php
分析如下:
1. 看過濾莉撇,過濾了一些查詢關(guān)鍵詞荧琼,明注是不可能了讨便,過濾括號育谬,通常的盲注也是實現(xiàn)不了含蓉。
2. 看要得到flag的條件频敛,我們輸入的密碼和查詢的密碼要一致,而且查詢結(jié)果只能有一條馅扣。
0x01 正確姿勢
懶得寫思路流程了斟赚,這里直接給出兩種解題姿勢,一種是盲注出密碼差油,一種是使用with rollup 再加php弱類型拗军。
1. 先看盲注吧:
payload: ' or pwd like 's%' limit 1#
解釋: 要使查詢語句正常而且出結(jié)果,必須要有一個為真蓄喇,這里是根據(jù)pwd進行判斷的发侵,若此時查詢出來的結(jié)果中的pwd 的值是以s開頭,則返回true 妆偏,若不是刃鳄,則返回false。
我是看人家writeup學(xué)到的楼眷,不得不承認(rèn)铲汪,要是在知道列名的情況下,這種盲注手段簡單方便很多罐柳,讓我對 like的印象加深了許多掌腰。
那剩下來就是腳本的事情了。
2. with rollup
這是我的一個知識盲區(qū)张吉,出題人估計一開始的出發(fā)點也是這個吧齿梁,所以我也想記錄一下。
個人下面通俗解釋一下 with rollup: ? 要配合 group by 一起使用,"group by username with rollup",簡單說一下勺择,就是使用with rollup 查詢之后创南,查詢結(jié)果集合里面會多一條NULL 記錄,這一題利用NULL 和空字符相等省核,然后得到flag稿辙。測試如下圖:
提交 username=' or 1 group by pwd with rollup limit 1 offset 2 #?
0x01 小結(jié)
偏向于盲注的我對like的印象分蹭蹭往上漲,不僅僅停留在繞過“=” 的過濾了
with rollup 也是一種不錯的姿勢 除非是某些題目故意設(shè)定 要不然一般或許有更好的選擇吧