攻防世界: fileclude

攻防世界: fileclude

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

整体思路如下:

  1. 通过get传递参数到服务器,确保file1file2不为空
  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编码后的源代码:

相关推荐
墨痕诉清风5 小时前
文件上传漏洞(PDF文件)
安全·web安全·pdf
浩浩测试一下7 小时前
高阶免杀技术掌握概览
汇编·安全·web安全·网络安全·系统安全·安全架构
菩提小狗8 小时前
src漏洞挖掘思路|网络安全|漏洞挖掘|笔记
笔记·安全·web安全
上海云盾-小余8 小时前
CDN 加速 + 安全防护:让业务体验与网络安全双向升级
网络·安全·web安全
安博通8 小时前
从边界设防到内生免疫:AI算力一体机的安全升维之路
人工智能·安全·web安全·gpu算力
咆哮的黑化肥9 小时前
Web 文件上传漏洞(+Upload-labs靶场练习)
web安全·网络安全
ISACA中国21 小时前
2026年网络安全与AI趋势预测
人工智能·安全·web安全
能年玲奈喝榴莲牛奶1 天前
安全服务-应急响应
web安全·网络安全·应急响应·安全服务