Joomla 3.4.7 修复的反序列化与SQL注入

  反序列化漏洞修复分析

  前一阵子 Joomla 的对象注入很火,而官方 3.4.6 的修复仅仅是严格过滤了 X_FORWARDED_FOR 和注释了 USER_AGENT 存入 SESSION 那一句,见:https://github.com/joomla/joomla-cms/commit/995db72ff4eaa544e38b4da3630b7a1ac0146264#diff-aba80b5850bf0435954b29dece250cbfL1021,这样只是指哪补哪,治标不治本。看来官方上次的修复只是临时解决方案,这次的更新(3.4.7)算是彻底解决了此问题。

  上次的对象注入,需要满足三个条件:

  1. 自己实现session的处理方式,重新实现了 session 存储的read()和write()方法,但是并没有对 session 的值进行安全处理。

  2. Mysql非strict mode下,使用utf8mb4字符 /xF0/x9D/x8C/x86 来截断。

  3. PHP <= 5.6.13 session中反序列化解析的BUG。

  (详情请看P牛文章:http://drops.wooyun.org/papers/11330 )

  Joomla 官方也只能解决第一个,也就是改进session的处理方式。这次更新,在 libraries/cms/version/version.php 中,将SESSION存储在内部的Registry类对象中,弃用了以前使用 $_SESSION[$namespace][$name] 的方式:

以下是代码片段:

$this->data = new /Joomla/Registry/Registry;

原文地址:https://hack.77169.com/201512/221772.shtm

本文由 华盟网 作者:怪狗 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

0

相关文章

发表评论

电子邮件地址不会被公开。

在线咨询 简繁切换 返回评论 返回顶部