攻防世界: 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编码后的源代码:

相关推荐
kingx31 天前
Bugku WEB 题解总集:文件包含 / SQLi / 反序列化 / SSTI / 反爬 / 组件漏洞
web安全·网络安全·ctf·bugku
CCIE-Yasuo1 天前
网络安全-Javascript基础
javascript·安全·web安全
是真的小外套1 天前
网络安全实战第17期:自动化检测误报漏报真相
安全·web安全·自动化
是真的小外套2 天前
网络安全实战第19期:三重防护失效真相之注入攻击的无限变形之路
安全·web安全
是真的小外套2 天前
网络安全实战第14期:Week2周末闯关
网络·安全·web安全
是真的小外套2 天前
网络安全实战第13期:侦察报告撰写
安全·web安全
是真的小外套2 天前
网络安全实战第15期:SQL注入根源之一条拼接语句的警示
sql·安全·web安全
m0_547486663 天前
《Web安全实践》全套PPT课件2026(暨南大学)
安全·web安全
jimmyleeee3 天前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
其实防守也摸鱼3 天前
Chrome 扩展安全攻防实录:从攻击面到防御实践
开发语言·前端·网络·chrome·安全·web安全·php