2019-11-19T06:37:10.png

phpcms注入漏洞 phpsso.php

打开phpsso.php文件
搜索 $phpssouid = $arr['uid'];
定位大概在129行
代码

$phpssouid = $arr['uid'];

改为

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

phpcms某处逻辑问题导致getshell

修改/phpcms/libs/classes/attachment.class.php文件143行左右的download方法,在方法开始位置加入:

$extarr = explode('|',strtolower($ext));
$allow_extarr = array('gif','jpg','jpeg','bmp','png');
foreach ($extarr as $theext) {
  if(!in_array(strtolower($theext),$allow_extarr)){
    exit('the file ext is not allowed');
    exit(0);
  }
}

PHPCMS V9.6.2 SQL注入漏洞

找到 /phpcms/libs/classes/param.class.php 文件 get_cookie 方法,大概109行:

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

phpcms前台注入导致任意文件读取漏洞

打开down.php ,搜索

file_down($fileurl, $filename);

定位到/phpcms/modules/content/down.php 大概128行
phpcms前台注入导致任意文件读取漏洞

在代码 file_down($fileurl, $filename);上方添加
改为:

$fileurl = str_replace(array('<','>'), '', $fileurl); 

phpcmsv9宽字节注入

1.打开 www/phpcms/modules/pay/respond.php , 代码第14行左右 ;

  1. 找到 respond_get() 替换成下面的代码,代码如下:

     public function respond_get() { 
        if ($_GET['code']){ 
             $code = mysql_real_escape_string($_GET['code']);//注意修改
             $payment = $this->get_by_code($code);//注意修改
             if(!$payment) showmessage(L('payment_failed')); 
             $cfg = unserialize_config($payment['config']); 
             $pay_name = ucwords($payment['pay_code']); 
             pc_base::load_app_class('pay_factory','',0); 
             $payment_handler = new pay_factory($pay_name, $cfg); 
             $return_data = $payment_handler->receive(); 
             if($return_data) { 
                 if($return_data['order_status'] == 0) {              
                     $this->update_member_amount_by_sn($return_data['order_id']); 
                 } 
                 $this->update_recode_status_by_sn($return_data['order_id'],$return_data['order_status']); 
                 showmessage(L('pay_success'),APP_PATH.'index.php?m=pay&c=deposit'); 
             } else { 
                 showmessage(L('pay_failed'),APP_PATH.'index.php?m=pay&c=deposit'); 
             } 
         } else { 
             showmessage(L('pay_success')); 
         } 
     }
    
    

phpcms注入漏洞 poster.php

打开文件www/phpcms/modules/poster/poster.php , 找到第221行左右;
修改代码,在代码if ($_GET['group']) { 的后面,添加如下代码:

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

PHPCMS V9.6.2 SQL注入漏洞 param.class.php

同上面的param.class.php

phpcms authkey生成算法问题导致authkey泄露

https://blog.csdn.net/qq_35393869/article/details/80651706

最后修改:2019 年 11 月 22 日
如果觉得我的文章对你有用,请随意赞赏