概念
所谓无参数RCE,就是通过没有参数的函数达到命令执行的目的。这类题目的关键代码一般长这样,后面都用这串代码当题目测试
<?php
if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['exp'])) {
eval($_GET['exp']);
}
?>
简单解释一下这串代码。这串代码就是检查了我们通过GET方式传入的exp参数的值,如果传进去的值是传进去的值是一个字符串接一个(),那么这个字符串就会被替换为空。如果替换后的字符串只剩下 ; ,那么我们传进去的 exp 就会被 eval 执行。比如我们传入一个 phpinfo();</