首頁 > CMS教程 > PHPCMS > PHPCMS各種注入漏洞補丁

PHPCMS各種注入漏洞補丁

爱喝马黛茶的安东尼
發布: 2019-11-21 10:24:52
轉載
6264 人瀏覽過

PHPCMS各種注入漏洞補丁

1、寬位元組注入漏洞

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

原來程式碼

1

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

登入後複製

替換為

1

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

登入後複製

2、phpcms注入漏洞

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

1

if ($_GET['group']) {

登入後複製

之後加上

1

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

登入後複製

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

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

(1)位置約17行

1

parse_str($a_k);

登入後複製
登入後複製

替換為

1

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

登入後複製
登入後複製

(2)位置約89行

1

parse_str($a_k);

登入後複製
登入後複製

替換為

1

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

登入後複製
登入後複製

(3)位置約120行

1

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

登入後複製

之後加上

1

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

登入後複製

4、phpcms注入漏洞

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

原來程式碼:

1

2

$password = isset($_POST[&#39;password&#39;]) && trim($_POST[&#39;password&#39;]) ? trim($_POST[&#39;password&#39;]) :

showmessage(L(&#39;password_empty&#39;),HTTP_REFERER);

登入後複製

替換為:

1

2

$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行

原來程式碼

1

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

登入後複製

替換為

1

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

登入後複製

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

原來程式碼

1

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

登入後複製

替換為

1

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

登入後複製

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

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

1

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

登入後複製

之後加上

1

2

3

4

5

6

7

$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行

原來程式碼

1

2

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

$phpssouid = $arr[&#39;uid&#39;];

登入後複製

#替換為,二合一程式碼

1

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

登入後複製

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

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<?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
最新問題
如何解除安裝phpcms
來自於 1970-01-01 08:00:00
0
0
0
phpcms 無法安裝
來自於 1970-01-01 08:00:00
0
0
0
phpcms訪問位址不存在
來自於 1970-01-01 08:00:00
0
0
0
phpcms後台登陸不了怎麼辦
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板