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

CTF--file_get_contents

一、原网页:

二、步骤:

1.源码分析:

<?phpextract($_GET); // 将 $_GET 数组中的所有键值对提取为变量if (!empty($ac)) // 只有当 $ac 不为空时,代码才会继续执行
{ $f = trim(file_get_contents($fn)); //trim():去除文件内容两端的空白字符(如空格、换行符等) /file_get_contents():读取由 $fn 指定的文件内容  if ($ac === $f)  // $ac 是否与 $f(文件内容)严格相等(===){echo "<p>This is flag:" ." $flag</p>";  // 如果相等,则输出一个提示信息,其中包含变量 $flag 的值}else{echo "<p>sorry!</p>";  // 如果 $ac 与 $f 不相等,则输出“sorry!”}
}?>

通过get方式传入,$ac和$fn相等才能返回flag

此题的关键点在于file_get_contents()函数,此函数可以通过伪协议进行绕过

2.常见的伪协议:

  • php://

        php://input: 允许访问请求的原始数据(POST 请求)
        php://filter: 允许对文件内容进行流式过滤

  • data://

        允许将数据嵌入到 URL 中,通常用于内联数据( GET请求)

  • zip://
  • bzip2://

        用于访问压缩文件中的内容

3.选取伪协议,构造新的url:

data://

相关文章:

  • 【多线程】线程互斥 互斥量操作 守卫锁 重入与线程安全
  • 大模型工业化元年:GPT-5开启通用AI新纪元,中国技术如何破局?
  • 安宝特案例 | 物流仓储头部企业应用AR+作业流,规范日常安全点检,保障消防安全
  • 简单易懂:从零开始训练CLIP模型的实用指南
  • SiamMask原理详解:从SiamFC到SiamRPN++,再到多任务分支设计
  • 数字IC后端项目典型问题之后端实战项目问题记录(2025.04.24)
  • Spark-Streaming核心编程(2)
  • 利用 SSE 实现文字吐字效果:技术与实践
  • 作业。。。。。。
  • Kubernetes 常用运维命令整理
  • 如何用大模型技术重塑物流供应链
  • 智慧景区国标GB28181视频平台EasyGBS视频融合应用全场景解决方案
  • CentOS 7上安装与配置Memcached及PHP客户端使用教程
  • 2025磐石行动第七周WP
  • 5.3.1 MvvmLight以及CommunityToolkit.Mvvm介绍
  • 【win11 安装WSL2 详解一遍过!!】
  • 什么是Wi-SUN?与其他低功耗广域网技术有何区别?
  • 人工智能与机器学习:二元分类决策树构建指南
  • 【Linux】基本指令(下)
  • 第十五届蓝桥杯 2024 C/C++组 拼正方形
  • “五一”假期首日国铁郑州局迎大客流,预计发送旅客逾95万人次
  • 中国金茂向滨江集团提供11.21亿元诚意金借款,拟合作开发3月获取的地块
  • 剑指3000亿产业规模,机器人“武林大会”背后的无锡“野望”
  • 韩国检方结束对尹锡悦私宅的扣押搜查
  • 中央网信办部署开展“清朗·整治AI技术滥用”专项行动
  • 学有质量、查有力度、改有成效,广大党员干部落实中央八项规定精神