安全研究
安全漏洞
安全漏洞
所有系统
AIX
BSD(eg,OpenBSD)
Digital Unix
HP-UX
IRIX
Linux
FreeBSD
SCO UNIX
SunOS
Solaris
Windows
所有类型
远程进入系统
本地越权访问
拒绝服务攻击
嵌入恶意代码
Web数据接口
其他类型
PHP session_save_path()绕过safe_mode和open_basedir限制漏洞
发布日期:
2010-02-11
更新日期:
2010-03-01
受影响系统:
PHP PHP 5.3.x
PHP PHP 5.2.x
不受影响系统:
PHP PHP 5.2.13
描述:
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限制访问其他目录。
<*来源:Grzegorz Stachowiak
链接:
http://secunia.com/advisories/38708/
http://securityreason.com/achievement_securityalert/82
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
{
session_save_path(";;/byp/;a/../../humhum");
session_start();
}
建议:
厂商补丁:
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
浏览次数:
2453
严重程度:
0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障
关于我们
公司介绍
公司荣誉
公司新闻
联系我们
公司总部
分支机构
海外机构
快速链接
绿盟云
绿盟威胁情报中心NTI
技术博客