关于phpcms authkey生成算法问题导致authkey泄露
的修复问题
简介:
漏洞名称:
phpcms authkey生成算法问题导致authkey泄露
补丁文件:
caches/configs/system.php
补丁来源:
云盾自研
漏洞描述:
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' => '2qKYgs0PgHWWtaFVb3KP', //密钥
3.找到并修改auth_key
,32位字符串
;具体写什么,自定义即可。
'phpsso_auth_key' => 'hjor66pewop_3qooeamtbiprooteqein', //加密密钥
注意:到了这一步,跟阿里云的云骑士一键修复是一样的了。
只是网站用户暂时都登录不了,接下来还有最重要的一步。
4.后台登录phpsso管理中心,在导航菜单phpsso ——> 应用管理 ——> 编辑
中,编辑“通信密钥”为第3步设置的'phpsso_auth_key'
的值,然后点击提交。
如果无法登录,请登录数据库后台,查看并复制数据表v9_admin的用户名账号密码加密因子,并替换为数据库表v9_sso_admin的用户名账号密码加密因子,即:保持二者数据一致!
然后,修改两个文件内的参数,其中一处为上文提及的32位phpsso_auth_key
保持一致,比如,修改后截图如下:
关键步骤截图如下:
提交之后,页面显示通信成功
,如下图。
5.最后,额外去测试一下登录。
你会发现,网站可以登录了,而且阿里云后台关于“phpcms authkey生成算法问题导致authkey泄露”的提示也都消失了。
阿里云反馈,截图如下:
如果,你先修改的是本地文件:
1.将修改好的文件,上传到服务器对应文件位置,直接覆盖;
2.接着操作上文第4、5步,即可。
3.最后,登录阿里云后台,点击验证(截图如下),即可完成漏洞修复。
以上就是关于 “ phpcms authkey生成算法问题导致authkey泄露 ” 漏洞修复的全部内容。