攻防世界 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