Joomla再曝高危0day漏洞,可进行远程命令执行

Joomla安全团队紧急发布了3.4.6版本,修复了一个高危0day漏洞。据悉,该漏洞从被发现到安全补丁的发布,已经超过两天,目前也已经通过其他渠道在流传。可以想象,将会有多少Joomla站点遭受入侵。

继Joomla被发现存在注入漏洞Joomla 3.x Sql注入漏洞分析后,近日又被曝存在远程命令执行0day漏洞。据悉,受影响的Joomla版本包括从1.5版本到3.4版本。目前,Joomla安全团队通过发布的新版本及安全补丁,对旧CMS版本进行修复。

该漏洞被使用超过两天

让人更为担心的是,该漏洞已经通过各种渠道流传被使用超过两天。这里需要再重复下:该漏洞在补丁发布之前,作为一个0day漏洞,在各种渠道流传下持续了两天。

漏洞源于用户代理字符串

我们先了解下用户代理字符串:

用户代理字符串是被用来辨别浏览器版本以及向你所访问的网站的服务器提供某些系统信息的细节。当你浏览一个网页时,你的浏览器会向你所访问的网站的服务器发送用户代理字符串。该字符串会表明你使用的是哪种浏览器,它的版本号,还有你的系统的细节,比如是什么操作系统及它的版本。这样浏览器就会利用这些信息提供符合你的浏览器的特定内容。

而从漏洞利用原理简单来说,该漏洞允许攻击者植入代码到Joomla的数据库中,然后执行。而该恶意代码的入口点就是用户代理字符串。从该漏洞的利用情况,可获知该字符串其实是存储在Joomla数据库中,但没有进行相应的校验,用以检测恶意代码。所以,利用定制的应用和脚本,攻击者可以很容易地制作自定义用户代理字符串,并在其中植入恶意代码,然后广播伪造的用户代理字符串。当服务器接收到该字符串,将其存储在自身的数据库中,攻击者即实现恶意代码的植入。

漏洞的发现

最开始监测到利用该漏洞实施入侵的是 Sucuri 安全团队,据他们所述,第一次监测到该漏洞是在12月12日下午4:49。具体可通过下面日志信息查看:

2015 Dec 12 16:49:07 clienyhidden.access.log
Src IP: 74.3.170.33 / CAN / Alberta
74.3.170.33 – – [12/Dec/2015:16:49:40 -0500] “GET /contact/ HTTP/1.1″ 403 5322 “http://google.com/” “}__test|O:21:\x22JDatabaseDriverMysqli\x22:3: ..
{s:2:\x22fc\x22;O:17:\x22JSimplepieFactory\x22:0: .. {}s:21:\x22\x5C0\x5C0\x5C0disconnectHandlers\x22;a:1:{i:0;a:2:{i:0;O:9:\x22SimplePie\x22:5:..
{s:8:\x22sanitize\x22;O:20:\x22JDatabaseDriverMysql\x22:0:{}s:8:\x22feed_url\x22;s:60:..

Sucuri 安全团队监测到了入侵攻击,也随之修改了payload,阻断了它的有效执行,但攻击者很快作出反应,他通过HTTP用户代理为突破口,进行对象注入,实现远程命令执行。而到了这里,该漏洞也就被发现了。

据Sucuri安全团队称:

我们接下来检测到更多的漏洞利用事件,其中都是来自同一个IP地址“74.3.170.33”。随着,在12月13日发现的近百个该漏洞利用的事件,均有尝试连接“146.0.72.83”以及“194.28.174.106”的行为。

从现在起保护你的站点

如果你是一个Joomla用户,请立即检查你的服务器日志。检查是否有来自146.0.72.83 、 74.3.170.33 、194.28.174.106的请求。同时,可结合在日志中检索 “JDatabaseDriverMysqli”或者“O:”关键字,如果你能找到他们,那么可以认为你的网站已经不安全了,需立即启动应急响应。

接下来,就是升级版本以及打好安全补丁。相应链接如下,

Joomla 3.4.6版本下载或更新:github-joomla


你可能感兴趣的:(Joomla再曝高危0day漏洞,可进行远程命令执行)