记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

Osx Apache Code To Reveal CVE-2013-0966 漏洞分析

2016-08-29 12:20

0x00 写在开头

这个漏洞从cve编号可以看出是三年前的了,当时关注的人并不多,也没有对外放出漏洞分析的Paper,可能是使用Osx Server做web服务器没有普及吧。不过这个漏洞的确很暴力。

0x01 漏洞分析

最开始是在本地发现的,在请求文件名中插入BOM头字符会直接返回后端的代码

1

当时此漏洞的描述是:

The Apple mod_hfs_apple module for the Apache HTTP Server in Apple Mac OS X before 10.8.3 does not properly handle ignorable Unicode characters, which allows remote attackers to bypass intended directory authentication requirements via a crafted pathname in a URI.

意思就是运行Apache的Osx服务器上,数据取自HFS+文件系统,HFS+用unicode来命名文件或文件夹。根据HFS+特性,当视图向HFS+请求文件时,接收到的这个文件名中含有可被HFS+忽略掉的unicode序列的话,照常返回这个正常文件名的文件。而作为apache for mac在处理这种请求时,导致请求的文件没有在服务器上执行,也就是将所请求的文件当做普通文件来响应请求。

比如这些空的unicode字符序列都会被HFS+忽略:

2

再来看看Apple的公告:

3

Apple对这个漏洞的定义只是绕过了HTTP基本认证,过于模棱两可。所以我把这个漏洞的标题定义为”Code To Reveal Vulnerability”。

4

这个漏洞的描述是说mod_hfs_apple模块没有正确处理掉这些unicode序列,这个模块的最初意义是用来处理URI请求信息的,比如文件名大小写等等事情,并且是用户自愿启不启用的。所以补丁就打在了mod_hfs_apple模块:

http://lists.apple.com/archives/security-announce/2013/Mar/msg00002.html

contains_ignorable_sequence函数将这些可被HFS+忽略的unicode序列集中了起来:

\xFC[\x80-\x83]
\xF8[\x80-\x87]
\xF0[\x80-\x8F]
\xEF\xBB\xBF
\xE2\x81[\xAA-\xAF]
\xE2\x80[\x8C-\x8F\xAA-\xAE]

在hfs_apple_module_fixups函数中调用了contains_ignorable_sequence:

if (contains_ignorable_sequence(r->filename)) {

ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, r,

"mod_hfs_apple: URI %s has ignorable character sequence. Denying access.",

r->filename);

return HTTP_FORBIDDEN;

}

当URI中的filename存在这些字符序列时,则返回为这个请求是禁止的。更有意思的事情是,补丁虽然打了,但Apple还是没有将mod_hfs_apple模块设为默认加载,在虚拟机上安装了OS X Yosemite 10.10来看看。

5

直到去年有安全研究员提出了”osx apache没有默认加载mod_hfs_apple模块那么打补丁有什么意义?” CVE-2015-3675就这么诞生了2333。

The default configuration of the Apache HTTP Server on Apple OS X before 10.10.4 does not enable the mod_hfs_apple module, which allows remote attackers to bypass HTTP authentication via a crafted URL.

https://support.apple.com/zh-cn/HT204942

6q

修补的方式就是默认加载了。我本机是OSX EI Caption 10.11.6,自带的Apache默认加载了这个模块:

7

0x02 漏洞蔓延

根据服务+操作系统+第三方包指纹搜索,发现在公网架设Apache服务的Osx系统中,用集成包的要比用系统原生的多,MAMP这几个就犹如win下的php study等等第三方包一样流行,MAMP在Bitnami上也很流行,这就很尴尬了。

MAMP & MAMP Pro(2015-12-14):

8

XAMPP(2016-04-21):

9

AMPPS(2015-01-03):

10

Payload:

%EF%BB%BF
%E2%81%AA
%E2%81%AB
%E2%81%AC
%E2%81%AD
%E2%81%AE
%E2%81%AF
%E2%80%AE
%E2%80%8C

MAMP & MAMP Pro:

11

AMPPS:

12

XAMPP:

13

0x03 写在最后

虽然第三方包居多,但是想找得更全很难,毕竟是中间件的第三方包,很多站建起来就不好找是不是用这个第三方包搭建的。此漏洞完整的生命线就到这儿了,感兴趣的可以继续研究下补丁。

 

*作者:Tr3jer_CongRong   Mottoin整理发布

未经允许不得转载: » Osx Apache Code To Reveal CVE-2013-0966 漏洞分析

知识来源: www.mottoin.com/88358.html

阅读:111164 | 评论:0 | 标签:逆向破解 AMPPS apache Code To Reveal CVE-2013-0966 MAMP Osx Payl

想收藏或者和大家分享这篇好文章→复制链接地址

“Osx Apache Code To Reveal CVE-2013-0966 漏洞分析”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词