国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 芦山县| 钦州市| 广安市| 盐边县| 斗六市| 乌苏市| 开阳县| 景宁| 教育| 涿鹿县| 濮阳市| 绥江县| 唐海县| 高阳县| 淅川县| 德州市| 保德县| 云林县| 濉溪县| 黔南| 宜黄县| 安仁县| 大安市| 万山特区| 区。| 鹰潭市| 丹棱县| 玉林市| 永兴县| 舞阳县| 阳信县| 丰都县| 三台县| 武宣县| 定陶县| 海口市| 白水县| 大石桥市| 什邡市| 利辛县| 松溪县|