从一个ctf题中学到的多种php disable_functions bypass 姿势

题目介绍

题目是Lilctf2025 的php-jail-is-my-cry
比赛链接:https://lilctf.xinshi.fun/
题目环境前半部分是 php最近的phar 新 trick
大佬的原理分析
https://fushuling.com/index.php/2025/07/30/%e5%bd%93include%e9%82%82%e9%80%85phar-deadsecctf2025-baby-web/
具体题目操作可看出题人博客https://blog.kengwang.com.cn/archives/668/#php-jail-is-my-cry
这里重点讲学习到的disable_functions bypass 姿势

现在的条件是 题目有文件上传的功能以及可以写webshell,但有严格的disable_functions以及disable_classes

姿势1 fpc_cnext

题目不出网且要执行/readflag, 因此执行/readflag并写到web目录
disable_function ban了很多,剩下file_put_contentscurl相关函数以及其他没啥大用的

curl 可以用file协议读取任意文件,很容易想到打cnext,CVE-2024-2961
文件就用curl file协议读取,payload生成用柯佬的脚本https://github.com/kezibei/php-filter-iconv

但rce需要文件操作的函数来触发,这里只有file_put_contents ,不同于之前常见的file_get_contents直接放payload就行,需要稍作修改,与之前 file_put_contents绕过死亡exit的方式差不多

不用data协议,数据要自己手动填入,在filter链子前加上个base64-decode,而且filter要要用write=,用read=也可以,得写把payload先写到文件里 resource的文件名随意
在这里插入图片描述
在这里插入图片描述

姿势2 curlfile_cnext

这个方法是从出题人博客中学到的,非常牛
在这里插入图片描述
payload 如下


$cu = curl_init('http://localhost/');
curl_setopt($cu, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cu, CURLOPT_POST, true);
$f = new CURLFile($_GET[0]);
curl_setopt($cu, CURLOPT_POSTFIELDS, ['f' => $f,
]);
$data = curl_exec($cu);
echo $data;

在这里插入图片描述
在这里插入图片描述

姿势3 curl加载so

这个姿势是我在比赛时的做法,搜到了国外的文章,说curl 有个 --engine选项可以加载so文件rce
https://hackerone.com/reports/3293801
那就利用题目的文件上传传个so,用curl_setopt指定so文件来rce
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93832.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93832.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从繁琐到优雅:Java Lambda 表达式全解析与实战指南

在 Java 8 之前,我们习惯了用匿名内部类处理回调、排序等场景,代码中充斥着大量模板化的冗余代码。直到 Java 8 引入 Lambda 表达式,这一局面才得以彻底改变。作为一名深耕 Java 多年的技术专家,我见证了 Lambda 表达式如何从一个…

《当 AI 学会 “思考”:大语言模型的逻辑能力进化与隐忧》

引言:AI “思考” 的时代信号​大语言模型展现逻辑能力的典型场景:如复杂问题推理、多步骤任务规划的实例(如 AI 辅助撰写科研思路、进行案件逻辑梳理等)​提出核心议题:大语言模型逻辑能力的进化究竟达到了怎样的程度…

企业知识管理革命:RAG系统在大型组织中的落地实践

企业知识管理革命:RAG系统在大型组织中的落地实践 🌟 Hello,我是摘星! 🌈 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 🦋 每一个优化都是我培育的花朵,每一个特性都是我…

MySQL事务篇-事务概念、并发事务问题、隔离级别

事务事务是一组不可分割的操作集合,这些操作要么同时成功提交,要么同时失败回滚。acid事物的四大特性原子性最小工作单元,要么同时成功,要么同时失败。例如A转账300给B,A账户-300与B账户300必须满足操作原子性,避免出现…

C++高频知识点(二十三)

文章目录111. 谈谈atomic1. 什么是原子操作?2. std::atomic 的基本使用示例:基本使用3. 原子操作方法4. 内存模型与顺序一致性112. 引用成员变量是否占空间?1. 引用成员变量的定义2. 内存占用情况1. 成员变量的实际占用2. 类的总大小代码分析113. C中深…

云存储的高效安全助手:阿里云国际站 OSS

在这个数据爆炸的时代,数据存储和管理成为了众多企业和个人面临的一大挑战。想象一下,你是一位视频博主,随着粉丝量的增长,视频素材越来越多,电脑硬盘根本装不下,每次找素材都要花费大量时间。又或者你是一…

【线性基】P4301 [CQOI2013] 新Nim游戏|省选-

本文涉及知识点 C贪心 位运算、状态压缩、枚举子集汇总 线性基 P4301 [CQOI2013] 新Nim游戏 题目描述 传统的 Nim 游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,…

[25-cv-09610]Anderson Design Group 版权维权再出击,12 张涉案图片及近 50 个注册版权需重点排查!

Anderson 版权图案件号:25-cv-09610立案时间:2025年8月13日原告:Anderson Design Group, Inc.代理律所:Keith原告介绍原告是美国的创意设计公司,成立于1993年,简称ADG,一家家族企业,…

Mac下载AOSP源代码

一、前期准备 硬件要求 至少 200GB 可用空间(源码约 100GB,编译产物需额外空间),推荐 SSD。 内存 16GB+,避免同步 / 编译时卡顿。 系统要求 macOS 10.14+(推荐最新版本,兼容性更好) 二、环境配置 AOSP 源码包含大小写不同的文件(如 File.java 和 file.java),而 …

Linux之网络

Linux之网络两个模型应用层协议HTTPS传输层协议UDPTCP可靠性与效率的兼顾面向字节流TCP异常情况底层实现网络层协议IP网段划分子网划分NAT数据链路层协议以太网ARP代理服务器内网穿透五种IO多路复用Reactor模式本文旨在讲解tcp-ip协议原理,并不涉及代码部分&#xf…

MCP(模型上下文协议):是否是 AI 基础设施中缺失的标准?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

基于粒子群优化算法优化支持向量机的数据回归预测 PSO-SVM

一、作品详细简介 1.1附件文件夹程序代码截图 全部完整源代码,请在个人首页置顶文章查看: 学行库小秘_CSDN博客​编辑https://blog.csdn.net/weixin_47760707?spm1000.2115.3001.5343 1.2各文件夹说明 1.2.1 main.m主函数文件 该代码实现了使用PSO…

版本更新!FairGuard-Mac加固工具已上线!

FairGuard-Mac加固工具1.0.2版本更新日志:■ 支持 AssetBundle 资源加密;■ 支持 Unity global-metadata 文件加密;AssetBundle ,是 Unity 提供的一种资源存储压缩包。其中储存了游戏的资源,如图片、模型、纹理、音视频、代码等文件。AssetBu…

【Linux篇章】穿越数据迷雾:HTTPS构筑网络安全的量子级护盾,重塑数字信任帝国!

本篇摘要 本篇文章将从https是什么,为什么需要https角度,基于之前学的http[速戳速通HTTP]认识https,介绍什么是加密等,认识加密的两种方式:对称加密和非对称加密;引出五种不同的通信方加密方式外加渗透证书…

数据库:表和索引结构

表和索引是如何组织和使用的,在很大程度上取决于具体的关系型DBMS,然而它们都依赖于大致相似的结构和原则。索引页和表页表行和索引行都被存储在页中。页的大小一般为4kb,这是一个可以满足大部分需求的大小,也可以是其他大小&…

Java 学习笔记(基础篇5)

1. 综合练习(1) 抽奖public class test10 {public static void main(String[] args) {int[] arr {2,588,888,1000,10000};Random r new Random();for (int i 0; i < arr.length; i) {int randomIndex r.nextInt(arr.length);int temp arr[randomIndex];arr[randomIndex…

P1162 填涂颜色(染色法)

P1162 填涂颜色 - 洛谷 #include <bits/stdc.h> using namespace std; #define ll long long const int N 1e7 10; int n; int a[100][100],b[110][110]; int dx[4]{-1,1,0,0}; int dy[4]{0,0,1,-1}; void dfs(int x,int y) {if(x<0 || x>n1 || y<0 || y>n…

Webrtc在项目中承担的角色

一、简单划分 解决方案层:负责对SDK的对接、操作业务逻辑、UI封装、采集、渲染等,属于基础业务逻辑层 会议SDK层:负责对会议业务逻辑的封装、服务端交互、创会/加会/离会等,属于会议业务逻辑层 mediasoupclient层: 负责对webrtc封装,提供会议层面相关接口,属于webrtc业务…

Servlet上传文件

这是一个Maven项目tomcat版本&#xff1a;9.0.107pom.xml<project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.…

cocos creator 3.8 - 精品源码 -《汉中汉:汉字中的字》

cocos creator 3.8 - 精品源码 - 超级文字大师游戏介绍功能介绍免费体验下载开发环境游戏截图免费体验游戏介绍 《汉中汉&#xff1a;汉字中的字》、找汉字&#xff0c;是一款从文字中的笔画找出可以组成新汉字的小游戏。比如&#xff1a;“王”字中的笔画就可以组成&#xff…