搜尋
首頁CMS教程PHPCMSPHPCMS各種注入漏洞補丁

PHPCMS各種注入漏洞補丁

Nov 21, 2019 am 10:24 AM
phpcms注入漏洞補丁

PHPCMS各種注入漏洞補丁

1、寬位元組注入漏洞

#/phpcms/modules/pay/respond.php 位置約16行

原來程式碼

$payment = $this->get_by_code($_GET['code']);

替換為

$payment = $this->get_by_code(mysql_real_escape_string($_GET['code']));

2、phpcms注入漏洞

/phpcms/modules/poster/poster .php 位置約221行

if ($_GET['group']) {

之後加上

$_GET['group'] = preg_replace('#`#', '', $_GET['group']);

#3、phpcms前台注入導致任一檔案讀取漏洞修補程式

##/phpcms/ modules/content/down.php

(1)位置約17行

parse_str($a_k);

替換為

$a_k = safe_replace($a_k); parse_str($a_k);

(2)位置約89行

parse_str($a_k);

替換為

$a_k = safe_replace($a_k); parse_str($a_k);

(3)位置約120行

$filename = date('Ymd_his').random(3).'.'.$ext;

之後加上

$fileurl = str_replace(array(&#39;<&#39;,&#39;>&#39;), &#39;&#39;,$fileurl);

4、phpcms注入漏洞

# /phpcms/modules/member/index.php 位置約615行

原來程式碼:

$password = isset($_POST[&#39;password&#39;]) && trim($_POST[&#39;password&#39;]) ? trim($_POST[&#39;password&#39;]) : 
showmessage(L(&#39;password_empty&#39;),HTTP_REFERER);

替換為:

$password = isset($_POST[&#39;password&#39;]) && trim($_POST[&#39;password&#39;]) ? addslashes(urldecode(trim($_POST[&#39;password&#39;]
))) : showmessage(L(&#39;password_empty&#39;), HTTP_REFERER);

##5、PHPCMS V9.6.2 SQL注入漏洞

(1)phpcms/libs/classes/param.class.php 位置約109行

原來程式碼

$value = isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], &#39;DECODE&#39;) : $default;

替換為

$value = isset($_COOKIE[$var])?addslashes(sys_auth($_COOKIE[$var],&#39;DECODE&#39;)):$default;

(2)/phpsso_server/phpcms/libs/classes/param.class.php 位置約108行

原來程式碼

return isset($_COOKIE[$var]) ? sys_auth($_COOKIE[$var], &#39;DECODE&#39;) : $default;

替換為

return isset($_COOKIE[$var]) ? addslashes(sys_auth($_COOKIE[$var],&#39;DECODE&#39;)) : $default;

#6、phpcms某處邏輯問題導致getshell

/phpcms/libs/classes/attachment.class.php 位置約143行

function download($field, $value,$watermark = &#39;0&#39;,$ext = &#39;gif|jpg|jpeg|bmp|png&#39;, $absurl = &#39;&#39;, $basehref = &#39;&#39;){

之後加上

   $extArray=explode(&#39;|&#39;,$ext); 
     if(!empty($extArray) && is_array($extArray)){ 
         foreach($extArray as $k => $v){ 
           if(!in_array(strtolower($v), array(&#39;gif&#39;,&#39;jpg&#39;,&#39;jpeg&#39;,&#39;bmp&#39;,&#39;png&#39;))); exit(&#39;0&#39;);//循环判断如果
           有一个不符合,直接返回 0 
         } 
      }

這樣,加入一個判斷,如果允許的文件格式是'gif','jpg','jpeg','bmp','png'這些,就繼續,不然就跳出,當然這裡的格式可以根據需要增多幾個。

7、phpcms注入漏洞

/api/phpsso.php 位置約128行

原來程式碼

$arr[&#39;uid&#39;] = intval($arr[&#39;uid&#39;]);
$phpssouid = $arr[&#39;uid&#39;];

#替換為,二合一程式碼

$phpssouid = intval($arr[&#39;uid&#39;]);

8、phpcms authkey產生演算法問題導致authkey洩漏

照著下面的函數重新產生key值,然後找caches/configs /system.php 裡面把兩個參數替換一下就ok了

<?php 
     function random($length, $chars = &#39;0123456789&#39;) { 
       
        $hash = &#39;&#39;; 
        $max = strlen($chars) - 1; 
        for($i = 0; $i < $length; $i++) { 
            $hash .= $chars[mt_rand(0, $max)]; 
        } 
        return $hash; 
    }
    
    echo random(20, &#39;authkey&#39;).&#39;<br/>&#39;;    
    echo random(32, &#39;phpssoauthkey&#39;);exit; 
?>

PHP中文網,大量的免費

PHPCMS教程,歡迎線上學習!

以上是PHPCMS各種注入漏洞補丁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:阿里云。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境