00x00 前言
Joomla是一套内容管理系统,由PHP加Mysql数据库所开发的系统。该漏洞本质上这是一个Session反序列化导致的RCE漏洞,由于Joomla对于Session的特殊处理,进行伪造session从而导致session反序列化。
00x01 漏洞分析
登陆时出现一个303跳转将用户输入的数据存入数据库中,先执行write函数再执行read函数。
利用read 函数会用‘x00x2ax00’(NN)替换‘’,重构原始对象。用username字段进行溢出,password字段进行对象注入。
Joomla\libraries\joomla\session\storage\database.php
00x02 漏洞复现
Joomla-3.4.6下载:https://downloads.joomla.org/cms/joomla3/3-4-6
站点搭建-设置数据库。
使用现有脚本进行验证Joomla-3.4.6-RCE
写入一句话
configuration.php文末发现被写入后面
url和密码用菜刀连上
00x03 修复建议
升级到3.9.12版本。