進去后是個登錄頁面,但是login根本不會跳轉,看源碼也沒提示,但是這道題給了一個提示:hint,那么盲猜應該是一個get參數,因為post不能跳轉,那么get總有內容吧,跟上hint參數,隨便賦一個值。
發現報出了源碼
審計一波發現只要cookie的值等於$key變量的序列化字符就能輸出flag。
那么發現之前沒有給$key定義賦值,但是最下面出現了,我們先在本機上查看這種情況下的$key變量的序列化值
發現這種情況下的序列化值是這樣的,那么我們直接不定義$key變量,也不賦值,看看
同樣也是這個:s:0:""; 上面定義了cookie的參數為ISecer,那么直接cookie的值應該為:ISecer:s:0:"";
在火狐的hackbar里面傳上這個cookie值就行了,但是最后“;”在cookie中是不會上傳到服務器的,因此這里“;”要用url編碼一下,即:ISecer:s:0:""%3b
最后輸出flag。
這道題主要考的是反序列化unserialize()函數,就是將序列化的字符轉換為正常字符串,他對應的序列化函數是serialize(),將字符串序列化。