攻防世界 ctf web进阶区 unserialize
阅读原文时间:2023年07月08日阅读:3

进入到题目的界面,看到以下源码

构造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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器