14
phpcms v9全系列URL规则任意代码执行漏洞修复方法

涉及文件:
phpcms\modules\admin\urlrule.php

step1.将文件中如下代码:

$this->url_ifok($_POST['info']['urlrule'])

修改为:

$this->url_ifok($_POST['info']['urlrule'], $_POST['info']['ishtml'])

step2.将如下函数:

public function url_ifok($url){
                $urldb = explode("|",$url);
                foreach($urldb as $key=>$value){
                        if(strpos($value, "index.php") === 0){
                                $value = substr($value,'9');
                        }
                        if( stripos($value, "php") !== false){
                                return false;
                        }
                }
                return true;
        }

替换为:

public function url_ifok($url, $ishtml){
                $urldb = explode("|",$url);
                foreach($urldb as $key=>$value){
                        if(!intval($ishtml) && strpos($value, "index.php") === 0){
                                $value = substr($value,'9');
                        }
                        if( stripos($value, "php") !== false){
                                return false;
                        }
                }
                return true;
        }


这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!