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

怪狗 2016-7-29 HACK 0 0

  反序列化漏洞修复分析

  前一阵子 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://www.77169.com/hack/201512/221772.shtm

转载请注明来自华盟网,本文标题:《Joomla 3.4.7 修复的反序列化与SQL注入》

喜欢 (0) 发布评论