手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

后缀名检测有漏洞,Apache上传不安全

首页 > Linux >

原文来自:http://www.phpv.net/html/1653.html
作者是:扶凯

内容如下:
注意,经测试,本情况发生在少量配置有问题的服务器上.一般正式版apache无此问题.

一般的网站都会开放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 
 

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


听闻有这样的漏洞,不管怎么样,都放上来,与大家一起分享一下,同时也请你自己检测一下自己的apache,如果你用的虚拟主机有这样的漏洞,那么也尽早通知他们一声,与人方便与己方便。
我自己没有测试过,所以不知道是否存在这个漏洞。




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: apache, mimetype, rar, php, bug

« 上一篇 | 下一篇 »

只显示10条记录相关文章

使用PHP得到所有的HTTP请求头 (浏览: 63638, 评论: 3)
我为什么会选用phpstorm (浏览: 53847, 评论: 5)
快速生成目录树 (浏览: 47647, 评论: 7)
通过file_get_contents来Post数据的实例 (浏览: 47297, 评论: 5)
PHP导入导出Excel方法 (浏览: 46129, 评论: 3)
PHP的XSS攻击过滤函数 (浏览: 43658, 评论: 2)
PHP中Eval的作用 (浏览: 42513, 评论: 4)
超详细:在Mac OS X中配置Apache + PHP + MySQL (浏览: 41862, 评论: 1)
PHP常见错误(二) (浏览: 40765, 评论: 1)
PHP sendmail (浏览: 38759, 评论: 7)

发表评论

评论内容 (必填):