国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > ThinkPHP > 正文

ThinkPHP < 5.0.24 遠(yuǎn)程代碼執(zhí)行高危漏洞的修復(fù)方案

2024-09-09 15:20:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本篇文章主要給大家介紹ThinkPHP < 5.0.24 遠(yuǎn)程代碼執(zhí)行高危漏洞的修復(fù)方案,希望對(duì)需要的朋友有所幫助!

漏洞描述

由于ThinkPHP5.0框架對(duì)Request類的method處理存在缺陷,導(dǎo)致黑客構(gòu)造特定的請(qǐng)求,可直接GetWebShell。

漏洞評(píng)級(jí)

嚴(yán)重

影響版本

ThinkPHP 5.0系列 < 5.0.24

安全版本

ThinkPHP 5.0系列 5.0.24

ThinkPHP 5.1系列 5.1.31

安全建議

升級(jí)ThinkPHP至安全版本

修復(fù)方法1.打開(kāi)

thinkphplibrarythinkRequest.php

搜索

  1. public function method($method = false) 
  2.  
  3.     { 
  4.  
  5.         if (true === $method) { 
  6.  
  7.             // 獲取原始請(qǐng)求類型 
  8.  
  9.             return $this->server('REQUEST_METHOD') ?: 'GET'
  10.  
  11.         } elseif (!$this->method) { 
  12.  
  13.             if (isset($_POST[Config::get('var_method')])) { 
  14.  
  15.                 $this->method = strtoupper($_POST[Config::get('var_method')]); 
  16.  
  17.                 $this->{$this->method}($_POST); 
  18.  
  19.             } elseif (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) { 
  20.  
  21.                 $this->method = strtoupper($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']); 
  22.  
  23.             } else { 
  24.  
  25.                 $this->method = $this->server('REQUEST_METHOD') ?: 'GET'
  26.  
  27.             } 
  28.  
  29.         } 
  30.  
  31.         return $this->method; 
  32.  
  33.     } 

改成:

  1. public function method($method = false) 
  2.  
  3.     { 
  4.  
  5.         if (true === $method) { 
  6.  
  7.             // 獲取原始請(qǐng)求類型 
  8.  
  9.             return $this->server('REQUEST_METHOD') ?: 'GET'
  10.  
  11.         } elseif (!$this->method) { 
  12.  
  13.             if (isset($_POST[Config::get('var_method')])) { 
  14.  
  15.                 $method = strtoupper($_POST[Config::get('var_method')]); 
  16.  
  17.                 if (in_array($method, ['GET''POST''DELETE''PUT''PATCH'])) { 
  18.  
  19.                     $this->method = $method
  20.  
  21.                     $this->{$this->method}($_POST); 
  22.  
  23.                 } else { 
  24.  
  25.                     $this->method = 'POST'
  26.  
  27.                 } 
  28.  
  29.                 unset($_POST[Config::get('var_method')]); 
  30.  
  31.             } elseif (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) { 
  32.  
  33.                 $this->method = strtoupper($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']); 
  34.  
  35.             } else { 
  36.  
  37.                 $this->method = $this->server('REQUEST_METHOD') ?: 'GET'
  38.  
  39.             } 
  40.  
  41.         } 
  42.  
  43.         return $this->method; 
  44.  
  45.     } 

保存,覆蓋 測(cè)試無(wú)誤 漏洞修復(fù)完成。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 桃园县| 武胜县| 英德市| 教育| 齐河县| 铜鼓县| 会泽县| 山西省| 宁化县| 宣恩县| 绥德县| 阳新县| 乐至县| 习水县| 蒙山县| 库伦旗| 房产| 宣汉县| 鹿泉市| 日喀则市| 洪江市| 新竹县| 保德县| 镇安县| 突泉县| 呼图壁县| 通榆县| 固阳县| 当阳市| 长寿区| 莎车县| 三亚市| 井冈山市| 马公市| 车险| 阜宁县| 海伦市| 吉林市| 新宾| 尼勒克县| 甘泉县|