偶然發(fā)現CG-CTF上沒做的web題里有道/x00,這不就是上次寫到的利用/x00截斷構造payload嗎?
源碼貼這:
php源碼
條件很清楚,跟上次的php審計大同小異
1)有nctf參數
2)nctf為數字
3)nctf中有‘#biubiubiu’
考慮到上次的截斷,這次的payload也很好構造:nctf=1%00%23biubiubiu
flag
#注意,這里的%23是#經過編碼的結果,因為url會經過一次解碼,#屬于特殊字符
知識點 :ereg()函數的漏洞,遇到ascii碼為0的字符自動認為結束,因此%00常用于截斷
下面還有種方法:
ereg函數處理數組,直接返回Null,而Null不等于False
strpos()也處理不了數組,直接返回Null
那么payload為 nctf[]=%23biubiubiu即可(數組繞過)
有warning但還是出flag了
數組繞過不愧為居家常備的解題大法啊