攻防世界 ctf web進階區 unserialize


進入到題目的界面,看到以下源碼

 

構造payload=?code=O:4:"xctf":1:{s:4:"flag";s:3:"111";}

 

 

 結合題目以及大佬的wp可以知道,這是一道unserialize的反序列化題。結合魔術方法 __wakeup() 可以知道,這一道題是要考察我們對於__wakeup()的繞過方法.

上網查閱資料可以知道,當序列化字符串當中屬性個數值大於實際的屬性個數時,就會導致反序列化異常,從而跳過__wakeup函數。

於是構造payload=?code=O:4:"xctf":5:{s:4:"flag";s:3:"111";}

 

得到flag

 

反序列化知識點補充:  私有屬性和被保護的屬性,需要加上 \00*\00 。再base64編碼。 

 

 

 

 

反序列化鏈接:https://blog.csdn.net/silence1_/article/details/89716976


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM