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

ctf show web入门37

进入靶场发现跟前几道题目不同,这是一道PHP本地文件包含漏洞(因为这道题与前几道题相比使用了include语句),并且还有正则黑名单绕过

代码非常精简,主要涉及以下几个关键点:
输入点:$c = $_GET[‘c’]; —— 程序通过 URL 参数 c 接收用户的输入。
过滤规则:if(!preg_match(“/flag/i”, $c)) —— 这里使用正则表达式检查c中是否包含字符串flag(i表示不区分大小写)。如果包含,程序就不执行后续操作。漏洞点:include(c 中是否包含字符串 flag(i 表示不区分大小写)。如果包含,程序就不执行后续操作。 漏洞点:include(c中是否包含字符串flagi表示不区分大小写)。如果包含,程序就不执行后续操作。漏洞点:include(c); —— 这是最核心的漏洞。include 函数会将 $c 指向的内容当作 PHP 代码执行。
目标提示://flag in flag.php —— 明确告诉了你 Flag 藏在 flag.php 文件里。

但是由于直接传入?c=flag,php会触发正则拦截我们需要一种方法来既能让include加载到文件但是又要保证url参数中没有flag
我们尝试构造的payload如下:?c=://filter/read=convert.base64-encode/resource=flag.php,代码执行成功但是并没有返回flag是因为
可能flag.php内部定义的变量名不叫flag(可能是flag(可能是flag(可能是f或者其他变量名)

所以我们尝试构造其他payload
比如我们可以尝试使用datd伪协议
data伪协议格式如:data://[媒介类型];[解码方式],[数据]
最后的payload为?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==

data://text/plain:告诉PHP处理器,接下来的数据是纯文本格式
;base64:声明后面的数据是用base64算法编码后的
PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==:这是经过base64编码后的PHP代码
内容为:<?php system('cat flag.php');?>
将system(“cat flag.php”);这个真正的payload放在<?php ?>标签中告诉服务器将这段内容当成PHP代码来执行

最后得到flag

或者使用?c=data://text/plain,<?php system('tac f*');?>也行

http://www.jsqmd.com/news/792791/

相关文章:

  • 不到成衣价买定制?希颜西装体验:899起,商务休闲两穿
  • 企业团队如何利用Taotoken统一管理API密钥与下载用量报告
  • 【Redis 入门系列】为什么需要 Redis?一文串起缓存、分布式、读写分离、分库分表与微服务
  • MediaCreationTool.bat:一站式Windows系统部署与升级解决方案
  • 从“垃圾”收藏库看AI编程助手:Claude Code的幽默与协作文化
  • 企业知识库RAG到底有多难:实战3:向量化与存储
  • 开源材料信息学工具OpenClaw:模块化设计与机器学习流水线实践
  • Cursor AI 编辑器规则集:提升代码生成效率与标准化实践
  • Windows下CLion配置NDK的CMake项目,为什么你的Android.toolchain.cmake总报错?一篇讲清所有参数
  • AI赋能辅助生殖:多模态数据融合与深度学习在胚胎评估与妊娠预测中的应用
  • HIL仿真自动化测试框架:从手动验证到CI/CD持续集成的工程实践
  • 小猫爪:嵌入式小知识05-IAR icf链接文件实战:从零构建自定义内存布局
  • 单臂路由vlan综合实验
  • 存储级内存SCM:移动设备性能与功耗的革命
  • 2026届毕业生推荐的十大降重复率平台推荐榜单
  • Anthropic研究院议程:不止做AI大模型,更要定义AI时代的全球规则
  • 进程写文件时,进程发生了崩溃,已写入的数据会丢失吗?
  • DFT笔记46
  • 基于Prometheus与nvidia_gpu_exporter构建企业级GPU监控体系
  • 【三维路径规划】基于混合双向优化算法(双向A算法和人工势场法)的三维约束下平滑路径规划附Matlab代码
  • DeepRead技能包:为AI编程助手注入文档处理能力,提升OCR集成效率
  • STM32F407+LAN8720实战:手把手教你用Lwip和freeModbus搭建MODBUS TCP服务器(附完整工程)
  • 数据库连接池与性能调优详解
  • AI编程工具实战指南:从Claude Code到Cursor的深度技巧与工作流设计
  • Codeffect:构建实时开发反馈系统,提升全栈开发体验
  • GPTAuthor:基于大语言模型的长篇故事AI协作创作工具详解
  • 基于MCP协议构建多提供商AI图像生成与存储一体化服务
  • 科技晚报|2026年5月10日:AI 开始补审查、权限与合规这些硬骨头
  • 基于RAG的AI知识库构建:从原理到实践的全栈指南
  • 基于 Simulink 的级联 H 桥(CHB)七电平逆变器载波移相调制