(攻防sj)web unserialize3

墨明丿發表於2020-12-18

在這裡插入圖片描述
開啟如圖
在這裡插入圖片描述
注意到題目 反序列化函式 unserialize 和 程式碼內初始化函式 wakeup()
如果一個類定義了__wakup()和__destruct(),則該類的例項被反序列化時,會自動呼叫__wakeup(), 生命週期結束時,則呼叫__desturct()。

而,這兩個函式存在漏洞,執行如下
在這裡插入圖片描述
其中

O:4:"xctf":1:{s:4:"flag";s:3:"111";}

xctf後面的 1 代表此物件中存在 1 個屬性 ,若將其,修改,使得大於其真實屬性數量,則跳過此函式。
若輸入正確序列,則呼叫wakeup()
在這裡插入圖片描述

這裡我們將其修改為2,即

O:4:"xctf":2:{s:4:"flag";s:3:"111";}

得到
在這裡插入圖片描述
成功

關於wakeup函式及其漏洞
https://blog.spoock.com/2016/11/03/php-wakeup/

相關文章