zoukankan      html  css  js  c++  java
  • phpcms authkey生成算法问题导致authkey泄露漏洞修复方法

    导读:阿里云今天提示phpcms authkey生成算法问题导致authkey泄露这个漏洞,那如何修复呢?

    看一下阿里爆出漏洞说明

    1. 漏洞名称:phpcms authkey生成算法问题导致authkey泄露 

    2. 补丁编号:13453425 

    3. 补丁文件:/www/xxxx/caches/configs/system.php 

    4. 补丁来源:云盾自研 

    5. 更新时间:2017-05-11 13:49:45 

    6. 漏洞描述: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

  • 相关阅读:
    识别IE11浏览器
    国庆过后老革命
    有些东西再忙也要做
    云计算
    SVN下Update出现代码文件删除状态问题
    如何避免历史回退到登录页面
    CodeSmith连Oracle
    NHibernate直接执行SQL进行插入
    nhibernate实体类主键ID赋值问题
    NHibernate不支持复杂的linq,就一定要用DataTable这么低级吗
  • 原文地址:https://www.cnblogs.com/zinging/p/13607384.html
Copyright © 2011-2022 走看看