[CTF刷题篇]攻防世界Web进阶之unserialize3 Writeup

前言

有了之前的PHP反序列化漏洞实例复现姿势详解这篇文章,终于不用再畏惧反序列化了,而且遇见这种题型甚至有一丝小兴奋,毕竟可以检验这段时间的学习了!

分析

创建环境,访问题目中给的url:
在这里插入图片描述
很明显,这题就考了2个点:

`反序列化`
`魔术函数__wakeup()的绕过`

附:绕过__wakeup()的姿势:
__wakeup 触发于 unserilize() 调用之前, 当反序列化时的字符串所对应的对象的数目被修改, __wake 的函数就不会被调用. 并且不会重建为对象

首先,我们构造111的反序列化字符串
详情请移步:PHP反序列化漏洞实例复现姿势详解
在这里插入图片描述
得到序列化后的字符串:

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

在这里插入图片描述
然后结合前文提到的绕过姿势,将对象数目修改构造payload:

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

然后以get方式提交即可:
在这里插入图片描述
OK,成功得到了flag!

结语

但行好事,莫问前程.

0wl
原创文章 31 获赞 12 访问量 1581

猜你喜欢

转载自blog.csdn.net/qq_43668710/article/details/105691441