PHP7CMS过滤不当导致前台GETSHELL

正文索引 [隐藏]

0x1: 我们先来看一段代码

$str = str_replace(array('<?', '?'.'>'), array('<?', '?>'), $str);
此处使用str_replace函数来进行匹配传入字符中<? ?>来进行匹配输出。

0x2: 我们知道在PHP中有四种代码风格

<?php phpinfo();?>

<?=phpinfo();?>
    
<%php phpinfo();%>
    
<script language="php">phpinfo()</script>

0x3:

从以上代码风格可以看出只要在php7.0以下的版本我们均可以使用第三种第四种代码风格绕过此过滤机制。