查看文章
 
PHP5.2.10中对PCH-006的fix问题
2009-06-19 13:19
昨天php5.2.10出来了,fix了PCH-006里提到的bug:

Fixed bug #45997 (safe_mode bypass with exec/system/passthru (windows only))

然而遗憾的是还有问题,看看php是咋fix这个的:

...
        b = strrchr(cmd, PHP_DIR_SEPARATOR);
#ifdef PHP_WIN32
        if (b && *b == '\\' && b == cmd) {
// 注意标红的代码:p
            php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid absolute path.");
            goto err;
        }
#endif
...

恩,fix后执行exec('\dir')会报错,但是exec('80vul\b\dir')依旧会执行:)
还有就是这个bug和php_escape_shell_cmd函数的处理方式有关,即使是php_exec_ex函数fix了,其他的函数调用时没有处理好呢?

类别:默认分类| |分享到i贴吧|浏览(679)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu