[NSSCTF]-Web:[SWPUCTF 2021 新生赛]ez_unserialize解析(反序列化修改属性)

文章讲述了在代码审计中,如何通过创建wllm类并利用`unserialize`反序列化payload,实现对类属性如admin的修改。重点介绍了构造函数(_construct)和对象销毁(_destruct)的魔术方法作用。
摘要由CSDN通过智能技术生成

查看网页

这里可以查看robots.txt

题目文件如下

代码审计:

class wllm:创建了一个名为wllm的类

public $admin:设置了wllm类的属性admin

unserialize():反序列化

魔术方法:

这个我截了一张其他师傅讲解的图,总结得很好

这里再解释一下_construct()和_destruct()这两个魔术方法

_construct():他这里说实例化对象,在这道题里简单点来讲就是new wllm(),比如$w=new wllm();就会触发这个魔术方法了。

_destruct():这里说对象引用完成或对象被销毁之类的,在这道题里的情况是代码执行完成之后会触发_destruct()。

payload:

http://node4.anna.nssctf.cn:28043/cl45s.php?p=O:4:"wllm":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:3:"ctf";} 

在进行反序列化时,我们所加入的修改wllm类的属性的代码会修改wllm类的相应属性。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值