CTF反序列化相关(持续更新)
绕过 __wakeup()
[SWPUCTF 2021 新生赛]no_wakeup
https://www.nssctf.cn/problem/429
php的特性:当序列化后对象的参数列表中成员个数和实际个数不符合时会绕过 __wakeup();
1 | O:6:"HaHaHa":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";} |
O:6:"HaHaHa"
:O 表示这是一个对象(Object)。6 是类名的长度(HaHaHa 的长度)。”HaHaHa” 是类的名称,即这个对象属于 HaHaHa 类。:2:
:表示这个对象有 2 个属性(admin 和 passwd)。{s:5:"admin";s:5:"admin";s:6:"passwd";s:4:"wllm";}
:{} 内部是对象的属性。s 表示字符串(string)。
s:5:”admin”,这里的 5 表示字符串 admin 的长度(即 5 个字符),”admin” 是属性的名称。
s:5:”admin”,第二个 admin 是属性 admin 的值,表示对象的 admin 属性值为字符串 “admin”。
s:6:”passwd”,这里的 6 表示字符串 passwd 的长度(即 6 个字符),”passwd” 是属性的名称。
s:4:”wllm”,这里的 4 表示字符串 wllm 的长度(4 个字符),”wllm” 是属性 passwd 的值。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 go0d1uck's Blog!