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以下的版本我们均可以使用第三种第四种代码风格绕过此过滤机制。
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注