您现在的位置: 首页 > CMS教程 > phpcms教程 > 正文

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

作者:admin来源:网络浏览:时间:2017-05-11 16:21:10我要评论
分享到
阿里云今天提示phpcms authkey生成算法问题导致authkey泄露这个漏洞,那如何修复呢?B5教程网分享一下解决方法。

看一下阿里爆出漏洞说明

  1. 漏洞名称:phpcms authkey生成算法问题导致authkey泄露 
  2.  
  3. 补丁编号:13453425 
  4.  
  5. 补丁文件:/www/xxxx/caches/configs/system.php 
  6.  
  7. 补丁来源:云盾自研 
  8.  
  9. 更新时间:2017-05-11 13:49:45 
  10.  
  11. 漏洞描述:phpcms在安装时,由于在同一个页面中连续使用mt_rand(),未进行有效mt_srand();种子随机化操作,导致authkey存在泄漏风险,黑客可利用该漏洞猜解出网站authkey进而入侵网站。【注意:该补丁修复后会自动修改您网站配置文件中的auth_key和phpsso_auth_key,并且只会运行一次,修复期间会有部分用户访问的cookies失效导致需要登录网站,除此无其他影响,可放心升级】 
照着下面的函数重新生成一下key值,然后找caches/configs/system.php 里面把两个参数替换一下就ok了

  1.     function random($length$chars = '0123456789') { 
  2.        
  3.         $hash = ''
  4.         $max = strlen($chars) - 1; 
  5.         for($i = 0; $i < $length$i++) { 
  6.             $hash .= $chars[mt_rand(0, $max)]; 
  7.         } 
  8.         return $hash
  9.     } 
  10. //这里重点:只要把random第二参数重新打乱,不要使用以前v9固定的数据 
  11. print_r($this->random(32, 'abcdefghigklmnopqrstuvwxyz1294567890ABCDEFGHIGKLMNOPQRSTUVWXYZ'));exit;//phpsso_auth_key 
  12. print_r($this->random(20, 'abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLM1294567890NOPQRSTUVWXYZ'));exit;//auth_key 

相关热词搜索: