溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHPCMS漏洞之v9寬字節注入問題如何解決

發布時間:2020-10-22 17:14:43 來源:億速云 閱讀:540 作者:小新 欄目:建站服務器

這篇文章將為大家詳細講解有關PHPCMS漏洞之v9寬字節注入問題如何解決,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

“phpcms v9寬字節注入問題”的漏洞修復方案

簡介:
漏洞名稱:phpcms v9寬字節注入問題
補丁文件:www/phpcms/modules/pay/respond.php
補丁來源:云盾自研
漏洞描述:phpcmsv9.5.9以后版本開始默認使用mysqli支持,在phpcms/modules/pay/respond.php中,因為代碼邏輯不夠嚴謹,
導致寬字節注入?!咀⒁猓涸撗a丁為云盾自研代碼修復方案,云盾會根據您當前代碼是否符合云盾自研的修復模式進行檢測,
如果您自行采取了底層/框架統一修復、或者使用了其他的修復方案,可能會導致您雖然已經修復了該漏洞,云盾依然報告存在
漏洞,遇到該情況可選擇忽略該漏洞提示】
…
阿里云漏洞提示。

解決辦法:

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')); 
  }
}

添加后的代碼,截圖示例如下:

PHPCMS漏洞之v9寬字節注入問題如何解決

3、然后,將修改好的文件,上傳到服務器對應文件位置,直接覆蓋;

4、最后,登錄阿里云后臺,點擊驗證(截圖如下),即可完成漏洞修復。

PHPCMS漏洞之v9寬字節注入問題如何解決

關于PHPCMS漏洞之v9寬字節注入問題如何解決就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女