[文章作者:张宴 本文版本:v1.2 最后修改:2010.05.24 转载请注明原文链接:http://blog.zyan.cc/nginx_0day/]

  注:2010年5月23日14:00前阅读本文的朋友,请按目前v1.1版本的最新配置进行设置。

  昨日,80Sec 爆出Nginx具有严重的0day漏洞,详见《Nginx文件类型错误解析漏洞》。只要用户拥有上传图片权限的Nginx+PHP服务器,就有被入侵的可能。

  其实此漏洞并不是Nginx的漏洞,而是PHP PATH_INFO的漏洞,详见:http://bugs.php.net/bug.php?id=50852&edit=1

  例如用户上传了一张照片,访问地址为http://www.domain.com/images/test.jpg,而test.jpg文件内的内容实际上是PHP代码时,通过http://www.domain.com/images/test.jpg/abc.php就能够执行该文件内的PHP代码。

  网上提供的临时解决方法有:

  方法①、修改php.ini,设置cgi.fix_pathinfo = 0;然后重启php-cgi。此修改会影响到使用PATH_INFO伪静态的应用,例如我以前博文的URL:http://blog.zyan.cc/read.php/348.htm 就不能访问了。

  方法②、在nginx的配置文件添加如下内容后重启:if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;}。该匹配会影响类似 http://www.domain.com/software/5.0/test.php(5.0为目录),http://www.domain.com/goto.php/phpwind 的URL访问。

  方法③、对于存储图片的location{...},或虚拟主机server{...},只允许纯静态访问,不配置PHP访问。例如在金山逍遥网论坛、SNS上传的图片、附件,会传送到专门的图片、附件存储服务器集群上(pic.xoyo.com),这组服务器提供纯静态服务,无任何动态PHP配置。各大网站几乎全部进行了图片服务器分离,因此Nginx的此次漏洞对大型网站影响不大。



  本人再提供一种修改nginx.conf配置文件的临时解决方法,兼容“http://blog.zyan.cc/demo/0day/phpinfo.php/test”的PATH_INFO伪静态,拒绝“http://blog.zyan.cc/demo/0day/phpinfo.jpg/test.php”的漏洞攻击:
location ~* .*\.php($|/)
{
      if ($request_filename ~* (.*)\.php) {
            set $php_url $1;
      }
      if (!-e $php_url.php) {
            return 403;
      }

      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
}


  也可将以下内容写在fcgi.conf文件中,便于多个虚拟主机引用:
if ($request_filename ~* (.*)\.php) {
    set $php_url $1;
}
if (!-e $php_url.php) {
    return 403;
}

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $uri;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;




  附:文章修改历史

  ● [2010年05月21日] [Version 1.0] 新建

  ● [2010年05月23日] [Version 1.1] 针对网友michael提出的“如果构造一个形如/..trojan.jpg/dummy.php/?abcd=1,似乎可以绕过防范的nginx配置”,进行了配置修改,防范了此类情况发生。提供测试的URL如下,拒绝漏洞访问:
  http://blog.zyan.cc/demo/0day/phpinfo.jpg (里面是PHP代码)
  http://blog.zyan.cc/demo/0day/phpinfo.jpg/.php
  http://blog.zyan.cc/demo/0day/phpinfo.jpg/dummy.php
  http://blog.zyan.cc/demo/0day/phpinfo.jpg/dummy.php/?abcd=1

  同时兼容正常的PATH_INFO伪静态请求,测试URL如下:
  http://blog.zyan.cc/demo/0day/phpinfo.php (这是正常的PHP文件)
  http://blog.zyan.cc/demo/0day/phpinfo.php/test
  http://blog.zyan.cc/demo/0day/phpinfo.php/news123.html
  http://blog.zyan.cc/read.php/348.htm

  ● [2010年05月24日] [Version 1.2] 修正文字描述错误。


Tags: , ,



技术大类 » Web服务器 | 评论(183) | 引用(0) | 阅读(134583)
도박꾼 Email Homepage
2025-5-25 17:06
온라인슬롯, 슬롯사이트, 먹튀검증, 온라인카지노, 토토사이트, 카지노 커뮤니티, 슬롯커뮤니티, 무료슬롯체험, 온라인바카라, 에볼루션카지노, 프라그마틱슬롯
Webtoon site Email Homepage
2025-5-27 12:14
"해피툰은 다양한 무료 웹툰, 웹툰 미리보기 사이트, 웹툰 사이트 순위, 무료 웹툰 사이트를 제공하는 사이트입니다. 해피툰의 가장 빠른 주소로 안내해드리겠습니다. no1 무료 웹툰 사이트를 이용해보세요."/>
Richad Email Homepage
2025-6-1 23:05
It was a very pleasant and informative time. There is a lot of information that I need, so I stay on this site for a long time. I think I know why many people visit this site. Thank you. It seems that the cause of stress and chronic pain is often due to problems with blood circulation. I introduce a site that shares information on various massage techniques and massage effects that are essential for modern people who sit and work for long hours.스웨디시구인
카지노사이트 Email Homepage
2025-6-5 11:51
온라인슬롯, 슬롯사이트, 먹튀검증, 온라인카지노, 토토사이트, 카지노 커뮤니티, 슬롯커뮤니티, 무료슬롯체험, 온라인바카라, 에볼루션카지노, 프라그마틱슬롯https://kkuns.com
DSGDFGDF Email
2025-6-5 21:22
I have read your blog it is very helpful for me. I want to say thanks to you. I have bookmark your site for future updates.  Online Defamation Lawyer
DSFDSFDSF Email
2025-6-10 18:12
It is a fantastic post – immense clear and easy to understand. I am also holding out for the sharks too that made me laugh.  ZUJ
DSFDSFDSF Email
2025-6-10 18:21
You have outdone yourself this time. It is probably the best, most short step by step guide that I have ever seen.  togel online terpercaya
웹툰사이트 Email Homepage
2025-6-11 10:54
I haven’t any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us.
DSFDSFSD Email
2025-6-11 17:33
The inner lining of your hoodies is super soft, which makes long workdays a bit more bearable. Plus, the visibility strip doesn’t peel off like others.  jbs wear clothing
DSFDSFSD Email
2025-6-11 17:42
Thanks for the blog loaded with so many information. Stopping by your blog helped me to get what I was looking for.  tentoto login
dsfdsfd Email
2025-6-11 19:40
I work in a warehouse and need visibility plus comfort. Your jumpers deliver both without compromise. I’ll be ordering more for the whole team soon.  telegram中文下载
dfdsds Email
2025-6-12 19:03
Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!Thanks  bola88 live
온라인 슬롯 Email Homepage
2025-6-13 15:57
최고 등급의 카지노 사이트를 통해 최고의 온라인 카지노 경험을 발견해보세요. 다양한 온라인 슬롯과 카지노 게임을 즐겨보세요. 지금 가입하여 흥미로운 보너스와 프로모션을 받아보세요!
온라인 슬롯 Email Homepage
2025-6-13 15:57
Hello, this weekend is good for me, since this time i am reading this enormous informative article here at my home.https://xn--bb0bo0gz8cfzm9zonug.net
dasfdsfds Email
2025-6-14 22:13
i am always looking for some free stuffs over the internet. there are also some companies which gives free samples.  agenolx slot
Jimmy Email
2025-6-16 18:53
Great post, and great website. Thanks for the information!  해외선물 임대
D Email
2025-6-17 14:39
I have read all the comments and suggestions posted by the visitors for this article are very fine,We will wait for your next article so only.Thanks!  해외선물 분양
SDFGG Email
2025-6-17 19:34
Great job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too.  magnumslot
SDFDSF Email
2025-6-19 18:32
I would like to say that this blog really convinced me to do it! Thanks, very good post.  Erome
DD Email
2025-6-19 19:17
Very informative post! There is a lot of information here that can help any business get started with a successful social networking campaign.  해외선물 분양
分页: 9/10 第一页 上页 4 5 6 7 8 9 10 下页 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]