攻防世界: fileclude

攻防世界: fileclude

从上面的图片显示的代码来看,需要我们控制两个变量,file1与file2。

整体思路如下:

  1. 通过get传递参数到服务器,确保file1与file2不为空
  2. 让file_get_contents($file2)输出hello ctf
  3. 让include(file1)输出flag.php的源码内容

知识点:

  1. 使用include函数将需要的php文件展示出来。具体就是将需要包含的php文件转变为base64编码,使其不能被php引擎解释执行

    复制代码
    //比如将flag.php的源码显示出来
    php://filter/convert.base64-encode/resource=flag.php
  2. 控制file_get_contents的输出

    比如我们想控制file_get_contents的输出为:nihao

    可以使用下面的方式:

    bash 复制代码
    data://text/plain,nihao

理解了上述知识点,我们可以构造下面的参数,使得代码的控制逻辑按照我们的思路进行。

构造参数如下:

file1=php://filter/convert.base64-encode/resource=flag.php&file2=data://text/plain,hello ctf

将参数设置到浏览器中,如下:

得到flag.php经过base64编码后的源代码:

相关推荐
Hum8le7 小时前
漏洞知识点《php伪协议》
开发语言·安全·web安全·php
砚凝霜9 小时前
【软考信息安全】第十六章 网络安全风险评估过程与技术方法
网络·安全·web安全
砚凝霜14 小时前
【软考信息安全】第十七章 网络安全应急响应概述与事件处理流程
网络·安全·web安全
Web Security Loop1 天前
MAC安装最新Burpsuite pro详细步骤教程
web安全·macos·网络安全·安全性测试
xixixi777771 天前
解读|华为星河 AI 三层安全围栏:以 AI 守护 AI,重构智算中心 Token 生产纵深防御体系
人工智能·安全·web安全·华为·提示词注入·agent安全·模型投毒
砚凝霜1 天前
【软考信息安全】第十三章 网络安全漏洞分类管理与扫描处置
安全·web安全
Xudde.1 天前
CVE-2017-9993漏洞复现
笔记·学习·安全·web安全
墨云安全1 天前
红队评估和渗透测试的区别是什么?2026 年从目标、方法到交付物的对比
网络·安全·web安全·网络安全·渗透测试
砚凝霜2 天前
【软考信息安全】第十六章 网络安全风险评估项目流程与应用
网络·安全·web安全
悟道子HD2 天前
网络安全基本功——MySQL基础
android·mysql·web安全