
進去後是個登入頁面,但是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(),将字元串序列化。