查看文章 |
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了,其他的函数调用时没有处理好呢? |
最近读者:

