[GXYCTF2019]禁止套娃(无参RCE) [GXYCTF2019]禁止套娃1.扫描目录扫描之后发现git泄漏使用githack读取泄漏文件<?php include "flag.php"; echo "flag在哪里呢?"; if(isset($_GET['exp'])){ if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) { if(';...
无参数RCE的形式如下,即只允许函数“套娃”,不允许传入其他参数。 if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) { eval($_GET['code']); } preg_replace('/[a-z]+\((?R)?\)/', NULL, $code) 2|0例题「[GXYCTF2019]禁止套娃」 <?php include("flag...
那么思路很明确,我们弄清楚正则即可进行RCE [^\W]+\((?R)?\) 1. 首先是[\W],对于\W,其意思等价于[A-Za-z0-9_]。那么我们知道,我们的input必须以此开头 然后是括号匹配( … )括号中间为(?R)?意思为重复整个模式。简单理解,我们可以输入以下类型a(b(c())) 但我们不能加参数,否则将无法匹配a(c,...