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

2017-08-14 14:30:35
摘要:阿里云主机上报phpcms漏洞:authkey生成算法问题导致authkey泄露,我直接在安骑士修复了,如果您服务器中没有安骑士就需要自己修改代码来处理,今天说下直接用代码处理漏洞的方法。

如下介绍,阿里云已经详细介绍了该漏洞的时间、危险等级和漏洞路径等信息。

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

漏洞等级:高危

披露时间:2017-05-03 14:35:43

漏洞路径:/caches/configs/system.php

漏洞类型:Web-CMS漏洞

是否有补丁文件:是

补丁来源:云盾自研

补丁发布时间:2017-05-03 14:35:43

漏洞描述:phpcms在安装时,由于在同一个页面中连续使用mt_rand(),未进行有效mt_srand();种子随机化操作,导致authkey存在泄漏风险,黑客可利用该漏洞猜解出网站authkey进而入侵网站。【注意:该补丁修复后会自动修改您网站配置文件中的auth_key和phpsso_auth_key,并且只会运行一次,修复期间会有部分用户访问的cookies失效导致需要登录网站,除此无其他影响,可放心升级】

如果您未购买安骑士,您完全可以自己修改代码来修复漏洞。
1、在/caches/configs/system.php,增加第一个参数:
'alivulfix' => 'yes',
2、修改auth_key,20位字符串,具体写什么,自定义。
'auth_key' => 'b7TJS7sRZ70Y5QqfdWJJ', //密钥
3、修改auth_key,32位字符串,具体些什么,自定义
'phpsso_auth_key' => 'O2elUpOMTh_seNFYpjIRTXaiZld9jKKK', //加密密钥
注意:到了这一步,跟阿里云的云骑士一键修复是一样的了,网站用户都登录不了了,接下来还有一步。
4、后台登录phpsso管理中心,在应用管理中,编辑“通信密钥”为第3步设置的'phpsso_auth_key' 的值。
5、测试,网站可以登录了,阿里云的“phpcms authkey生成算法问题导致authkey泄露”提示也消失了。