BUGTRAQ ID: 38182
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
用户可通过ini_set()和session_save_path()函数来设置session.save_path。在 session.save_path中应存在一个用户保存用户tmp文件的路径,但session.save_path的句法为:
[/PATH]
或
[N;/PATH]
N可以为字符串(应为数字)
例如:
1. session_save_path("/DIR/WHERE/YOU/HAVE/ACCESS")
2. session_save_path("5;/DIR/WHERE/YOU/HAVE/ACCESS")
如果用户使用了多个“;”字符,就可以创建伪造目录结构减少“../”,绕过safe_mode和open_basedir限制访问其他目录。
PHP PHP 5.3.x
PHP PHP 5.2.x
厂商补丁:
PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/session/session.c?view=log
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/ext/session/session.c?view=log
Unavailable Comments