序列化与反序列化

Php 反序列化漏洞:当反序列化字符串时,如果表示属性个数的值大于真实属性个数,就会跳过_wakeup函数的执行

 

 可以看到真实属性个数只有两个

然后因为要绕过wakeup,把Name后的数字改成3.因为username和password是私有变量,变量中的类名前后会有空白符,而复制的时候会丢失,所以要加上%00
最后payload:

O:4:"Name":3:{s:14:"%00Name%00username";s:5:"admin";s:14:"%00Name%00password";i:100;}
 
 
protected在变量名前添加标记%00*%00,长度+3
private在变量名前添加标记%00(classname)%00,长度+2+类名长度
 
 
aarray数组
b boolean判断类型
d double浮点数
i integer整数型
o common object 一般的对象
r reference引用类型
s string字符串类型
C custom object
O class
N null
R pointer reference
U unicode string
posted @   heartbeat111  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示