练习 18 Web [RoarCTF 2019]Easy Calc-表达式注入,被屏蔽字符的处理方式

时间:2024-04-08 13:26:29

一开始先看一下前端的源码
有一个calc.php,肯定需要打开
在这里插入图片描述
在这里插入图片描述
这是calc中的代码

<?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.';');
}
?>

到这里就卡住了,搜calc以及本题wp
是没做过的类型

[RoarCTF 2019]Easy Calc

RoarCTF 2019 Easy Calc 1【BUUCFT】【表达式注入】