专栏名称: 七芒星实验室
未知攻,焉知防,以攻促防,共筑安全!
今天看啥  ›  专栏  ›  七芒星实验室

ThinkPHP8 反序列化调用链

七芒星实验室  · 公众号  ·  · 2024-07-05 07:00

文章预览

文章前言  去年暑假,ThinkPHP发布了8.0版本。当时也是尝试着挖掘一条反序列化调用链,相比ThinkPHP 6,不少类做了变动,外加上还做了declare (strict_types = 1);的限制,让利用变的有些许的难。  最近还是将这个任务重新捡了起来,最后也是成功找到了一条调用链并成功利用,这里就分享成功利用的部分。 环境说明  官方手册:https://doc.thinkphp.cn/v8_0/preface.html  此外ThinkPHP提高了PHP版本要求,PHP版本需要使用PHP8以上。根据官方文档下载好后添加一个反序列化入口就好 反序列化调用链  source点选择    反序列化起点无非是destruct或wakeup方法,wakeup一般用于作对象初始化,多选择destruct方法作为起点  全局一找,发现仅有两个可选 先看第一个,这是应该是给数据库关闭链接用的,定义在Connection抽象类中,该类实现ConnectionInterface接口,__destruct方法调用的是 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览