PHPCMS漏洞之v9宽字节注入问题-PHPCMS

资源魔 108 0

对于阿里云提醒“phpcms v9宽字节注入成绩”的破绽修复计划

简介:
破绽称号:phpcms v9宽字节注入成绩
补钉文件:www/phpcms/modules/pay/respond.php
补钉起源:云盾自研
破绽形容:phpcmsv9.5.9当前版本开端默许应用mysqli支持,正在phpcms/modules/pay/respond.php中,由于代码逻辑不敷谨严,
招致宽字节注入。【留意:该补钉为云盾自研代码修复计划,云盾会依据您以后代码能否合乎云盾自研的修复模式进行检测,
假如您自行采取了底层/框架对立修复、或许应用了其余的修复计划,可能会招致您尽管曾经修复了该破绽,云盾仍然陈诉存正在
破绽,遇到该状况可抉择疏忽该破绽提醒】
…
阿里云破绽提醒。

处理方法:

一、关上www/phpcms/modules/pay/respond.php,代码第14行阁下;

二、找到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')); 
  }
}

增加后的代码,截图示例以下:

1574303703861302.jpg

三、而后,将修正好的文件,上传到效劳器对应文件地位,间接笼罩;

四、最初,登录阿里云后盾,点击验证(截图以下),便可实现破绽修复。

1574303726283797.jpg

以上就是对于“phpcms v9宽字节注入成绩”破绽修复的全副内容。

PHP中文网,年夜量的收费PHPCMS教程,欢送正在线学习!

以上就是PHPCMS破绽之v9宽字节注入成绩的具体内容,更多请存眷资源魔其它相干文章!

标签: phpcms phpcms教程 phpcms技巧 php问题解决 漏洞 v9 宽字节注入

抱歉,评论功能暂时关闭!