重大漏洞, 让Apache上传不安全-php.rar

Dec 17th, 2008

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2008/12/17/apache-phprar.html

 

般的网站都会开放rar附件上传,并可能会保留原来文件名称,这从而可能导致一个很严重的问题,xxx.php.rar文件会被Apache当作php文件来执行, 造成极大的安全隐患 .

如何测试? 将你的某个php程序文件后缀名修改成  xxx.php.rar , 这时测试一下, 还是按照PHP文件解析执行,Apache并不会认为这是一个rar文件, 这是为什么呢?

原来,每遇到一种后双重后缀名(如xxx.php.rar)的文件,Apache都会去conf/mime.types 文件中检查最后一个后缀, 如果最后一个后缀并没有在mime.types文件中定义, 则使用前一个后缀来解释 , 因为在默认情况下,rar并未在mime.types中定义, 故Apache会使用php后缀来解释文件, 这就是漏洞的原因所在.

由此类推,如果使用xxx.jsp.ppp.rar 则会认为是jsp文件, 如果修改成xxx.shtml.rar ,则会识别成shtml文件.

a.php.c.d.e.rar 也是会被当成PHP文件解释的!
想想,不知道有多少网站存在这个问题?

那么针对网络管理员,如何杜绝这个隐患 ?
1.修改mime.types文件,在最后面加一条:

application/rar rar

然后重新启动Apache,即可.

针对WEB管理员及WEB程序开发者,如何更安全?
1.只允许上传指定后缀名的文件,当然,要禁止掉rar格式文件上传.(但这条往往行不通,一般的网站都需要上传rar文件)
2.对上传后的文件进行强制重命名, 强制使用最后一个扩展名,如原始文件名为xxx.php.rar ,上传后强制重命名为 20080912.rar即可避免这个隐患.

早期版本的phpcms 2007, discuz, ecshop都存在这个漏洞,  或许你的网站被挂马,就是因此引起.

 

 

上面的文章是转的,我测试了一下,还真这样,不过修改mime.types是没有用的.

需要在http.conf中加入下面这些内容

AddType application/rar .rar
AddType application/x-compressed .rar
AddType application/x-rar .rar
AddType application/x-rar-compressed .rar
AddType application/x-rar-compressed; application/x-compressed .rar
AddType compressed/rar; application/x-rar-compressed .rar

 

这样就不会出问题了,测试过了,加我上面这些是没有问题的。

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
Tags: ,
  1. waakee.com
    Dec 18th, 2008 at 11:34
    #1
  2. Sonic
    Dec 21st, 2008 at 03:54
    Reply | Quote | #3

    您的解决办法在我这里好像也无效.另外我这里测试,连*.php.gif,*.php.jpg都存在这个问题.

  3. ronin
    Dec 21st, 2008 at 15:04
    Reply | Quote | #4

    有可能会用其它格式来避开rar,比如是abc.php.zip?程序员最重要的思想是不要相信任何外部提交的东西,所以对上传文件一定要处理,重命名是肯定需要

  4. i_amok
    Dec 25th, 2008 at 22:49
    Reply | Quote | #5

    用rewrite规则

    RewriteEngine On
    RewriteRule \.php\.(.*)$ http://www.google.cn [R=301,L]

  5. admin
    Dec 26th, 2008 at 09:37
    Reply | Quote | #6

    呵呵,在我的机器我的那个方法是通的。正则怎么来讲对效率还是不好的。不过现在反正不用apache啦,也不用担心了.

  6. 578
    Apr 10th, 2010 at 12:31
    Reply | Quote | #9
  7. 378
    Apr 10th, 2010 at 18:10
  8. 559
    Jul 21st, 2010 at 12:09

    ÿ