1、phpcms v9某处逻辑问题导致getshell漏洞及php文件木马
/phpcms/libs/classes/attachment.class.php   143行
官方方案:143行 在function download方法下添加
if($ext !== 'gif|jpg|jpeg|bmp|png'){
    if(!in_array(strtoupper($ext),array('JPG','GIF','BMP','PNG','JPEG'))) exit('附加扩展名必须为gif、jpg、jpeg、bmp、png');
}
2、phpcms前台注入导致任意文件读取漏洞
(1)文件/phpcms/modules/content/down.php 17行
$a_k = safe_replace($a_k); parse_str($a_k);
(2)89行
$a_k = safe_replace($a_k); parse_str($a_k);
(3)121行
$fileurl = str_replace(array('<','>'), '',$fileurl); file_down($fileurl, $filename);
3、phpcms v9 注入漏洞

打开文件 /api/phpsso.php 找到125行 if ($action == 'synlogin')
if(!isset($arr['uid'])) exit('0');
$phpssouid = intval($arr['uid']);
$userinfo = $db->get_one(array('phpssouid'=>$phpssouid));

4、phpcms注入漏洞修复补丁
phpcms/modules/poster/poster.php    221行
在《$group = " `".$_GET['group']."`";》之前添加 
$_GET['group'] = preg_replace('#`#', '', $_GET['group']);

5、phpcms v9宽字节注入
打开/phpcms/modules/pay/respond.php 大概14行
if ($_GET['code']){
// $payment = $this->get_by_code($_GET['code']);
$code = mysql_real_escape_string($_GET['code']);//修改地方 
            $payment = $this->get_by_code($code);//修改地方 
if(!$payment) showmessage(L('payment_failed'));
6、phpcms用户登录注入漏洞
\phpcms\modules\member\index.php  617行 修改为如下
$password = isset($_POST['password']) &amp;&amp; trim($_POST['password']) ? addslashes(urldecode(trim($_POST['password']))) : showmessage(L('password_empty'), HTTP_REFERER);
7、存在文件包含漏洞
phpcms\libs\classes\param.class.php
在“public static function get_cookie($var, $default = '') {”方法修改成:
public static function get_cookie($var, $default = '') {
    $var_base = $var;
    $var = pc_base::load_config('system','cookie_pre').$var;
    $value = isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], 'DECODE', md5(PC_PATH.'cookie'.$var).pc_base::load_config('system','auth_key')) : $default;
    if(in_array($var_base,array('_userid','userid','siteid','_groupid','_roleid'))) {
            $value = intval($value);
    } elseif(in_array($var_base,array('_username','username','_nickname','admin_username','sys_lang'))) { //  site_model auth
            $value = safe_replace($value);
    }
    return $value;
}
8、利用篡改模板路径生成任意文件的漏洞
phpcms\libs\functions\global.func.php 
在template方法开始(约481行)加入以下代码:
if(strpos($template, '..') !== false) {
    showmessage('Template filename illegality.');
}
9、URL规则任意代码执行漏洞
phpcms\modules\admin\urlrule.php
(1)$this->url_ifok($_POST['info']['urlrule'])
修改成:
$this->url_ifok($_POST['info']['urlrule'], $_POST['info']['ishtml'])
(2)public function url_ifok($url){函数修改成:
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;
}