### [PHPCMS漏洞之v9宽字节注入问题](https://www.prosaas.cn/article/4330) **Published:** 2019-11-21T02:43:24 **Author:** 5201314 **Excerpt:** 关于阿里云提示“phpcms v9宽字节注入问题”的漏洞修复方案 解决办法:1、打开www/phpcms/mo… **![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212122844818.jpg)** **关于阿里云提示“phpcms v9宽字节注入问题”的漏洞修复方案** 简介: 漏洞名称:phpcms v9宽字节注入问题 补丁文件:www/phpcms/modules/pay/respond.php 补丁来源:云盾自研 漏洞描述:phpcmsv9.5.9以后版本开始默认使用mysqli支持,在phpcms/modules/pay/respond.php中,因为代码逻辑不够严谨, 导致宽字节注入。【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测, 如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在 漏洞,遇到该情况可选择忽略该漏洞提示】 … 阿里云漏洞提示。 **解决办法:** 1、打开www/phpcms/modules/pay/respond.php,代码第14行左右; 2、找到respond\_get()替换成下面的代码,代码如下: public function respond\_get() { if ($\_GET\['code'\]){ $code = mysql\_real\_escape\_string($\_GET\['code'\]);//注意修改 $payment = $this->get\_by\_code($code);//注意修改 if(!$payment) showmessage(L('payment\_failed')); $cfg = unserialize\_config($payment\['config'\]); $pay\_name = ucwords($payment\['pay\_code'\]); pc\_base::load\_app\_class('pay\_factory','',0); $payment\_handler = new pay\_factory($pay\_name, $cfg); $return\_data = $payment\_handler->receive(); if($return\_data) { if($return\_data\['order\_status'\] == 0) { $this->update\_member\_amount\_by\_sn($return\_data\['order\_id'\]); } $this->update\_recode\_status\_by\_sn($return\_data\['order\_id'\],$return\_data\['order\_status'\]); showmessage(L('pay\_success'),APP\_PATH.'index.php?m=pay&c=deposit'); } else { showmessage(L('pay\_failed'),APP\_PATH.'index.php?m=pay&c=deposit'); } } else { showmessage(L('pay\_success')); } } 添加后的代码,截图示例如下: ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212122844855.jpg) 3、然后,将修改好的文件,上传到服务器对应文件位置,直接覆盖; 4、最后,登录阿里云后台,点击验证(截图如下),即可完成漏洞修复。 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212122844506.jpg) 以上就是关于“phpcms v9宽字节注入问题”漏洞修复的全部内容。 PHP中文网,大量的免费PHPCMS教程,欢迎在线学习! 以上就是PHPCMS漏洞之v9宽字节注入问题的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** PHPCMS ---