<ruby id="b2tpy"></ruby>
  • 
    
    1. <tt id="b2tpy"></tt>
        <rp id="b2tpy"></rp>

            阿里云ECS phpcms v9 各種注入漏洞

            2019-03-02 11:07:08 點擊:

            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('<','>'), '',$fileurl);

             

             

             

            4、phpcms注入漏洞 

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

            原來代碼:

             

             

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

             

            替換為:

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

             

            5、phpcms某處邏輯問題導致getshell

            1.根據漏洞描述,找到對應文件attachment.class.php的對應位置(第144行附近),并添加補丁代碼。

            
            
            1.  
              //補丁代碼如下
            2.  
              if($ext !== 'gif|jpg|jpeg|bmp|png'){
            3.  
              if(!in_array(strtoupper($ext),array('JPG','GIF','BMP','PNG','JPEG'))) exit('附加擴展名必須為gif、jpg、jpeg、bmp、png');
            4.  
              }

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

             

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

             

            6、phpcms注入漏洞

            /api/phpsso.php 位置約128行

            原來代碼

            
            
            1.  
              $arr['uid'] = intval($arr['uid']);
            2.  
              $phpssouid = $arr['uid'];

             

            替換為,二合一代碼

            $phpssouid = intval($arr['uid']);

             

            7、phpcms authkey生成算法問題導致authkey泄露

            /caches/configs/system.php,增加第一個參數:

            'alivulfix' => 'yes',

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

            
            
            1.  
              <?php
            2.  
              function random($length, $chars = '0123456789') {
            3.  
               
            4.  
              $hash = '';
            5.  
              $max = strlen($chars) - 1;
            6.  
              for($i = 0; $i < $length; $i++) {
            7.  
              $hash .= $chars[mt_rand(0, $max)];
            8.  
              }
            9.  
              return $hash;
            10.  
              }
            
            
            1.  
               
            2.  
              echo random(20, 'authkey').'<br/>';
            3.  
              echo random(32, 'phpssoauthkey');exit;
            4.  
               
            5.  
            您有什么需求,馬上聯系我?
            點擊聊天

            contact us

            延吉市創想軟件開發有限公司

            0433-2417899 13019230608

            国产目拍亚洲精品99久久精品