PHP远程任意文件读取及目录遍历漏洞
2004-12-19 12:48
996 查看
发布日期:2004-12-16
更新日期:2004-12-17
受影响系统:
PHP PHP 5.0.2
PHP PHP 5.0.1
PHP PHP 5.0.0
PHP PHP 4.3.9
PHP PHP 4.3.8
PHP PHP 4.3.7
PHP PHP 4.3.6
不受影响系统:
PHP PHP 5.0.3
PHP PHP 4.3.10
描述:
--------------------------------------------------------------------------------
PHP是一种流行的WEB服务器端编程语言。
PHP存在输入验证漏洞,远程攻击者可以利用这个漏洞读取系统文件内容及进行目录遍历攻击。
问题一是addslashes()存在问题,addslashes()用于过滤用户输入,在magic_quotes_gpc设置"on"时,将对每个输入执行addslashes()进行过滤,但是由于NULL字节不正确被addslashes()编码,如果用户输入被include()或require()使用,可能导致攻击者读取文件系统的任意文件。
问题二是上传路径遍历问题,PHP自动过滤上传的文件名数据,删除在斜杠或反斜杠之前的数据,但是如果攻击者上传的文件包含单引号,而WEB服务又设置magic_quotes为ON,或者对上传文件名执行addslashes()操作,那么在单引号前会前缀一个反斜杠,因此在Windows系统可造成目录遍历问题,导致文件上传到系统任意目录中。
<*来源:Daniel Fabian (d.fabian@sec-consult.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110321976808504&w=2
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Daniel Fabian (d.fabian@sec-consult.com)提供了如下测试方法:
如有如下PHP脚本:
<?
$whatever = addslashes($_REQUEST[whatever]);
include("/path/to/program/" . $whatever . "/header.htm");
?>
恶意攻击者可以提交如下URL获得文件内容:
http://localhost/phpscript.php?whatever=../../../../boot.ini%00
建议:
--------------------------------------------------------------------------------
厂商补丁:
PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载升级到PHP 4.3.10或者5.0.3版本:
http://www.php.net/
更新日期:2004-12-17
受影响系统:
PHP PHP 5.0.2
PHP PHP 5.0.1
PHP PHP 5.0.0
PHP PHP 4.3.9
PHP PHP 4.3.8
PHP PHP 4.3.7
PHP PHP 4.3.6
不受影响系统:
PHP PHP 5.0.3
PHP PHP 4.3.10
描述:
--------------------------------------------------------------------------------
PHP是一种流行的WEB服务器端编程语言。
PHP存在输入验证漏洞,远程攻击者可以利用这个漏洞读取系统文件内容及进行目录遍历攻击。
问题一是addslashes()存在问题,addslashes()用于过滤用户输入,在magic_quotes_gpc设置"on"时,将对每个输入执行addslashes()进行过滤,但是由于NULL字节不正确被addslashes()编码,如果用户输入被include()或require()使用,可能导致攻击者读取文件系统的任意文件。
问题二是上传路径遍历问题,PHP自动过滤上传的文件名数据,删除在斜杠或反斜杠之前的数据,但是如果攻击者上传的文件包含单引号,而WEB服务又设置magic_quotes为ON,或者对上传文件名执行addslashes()操作,那么在单引号前会前缀一个反斜杠,因此在Windows系统可造成目录遍历问题,导致文件上传到系统任意目录中。
<*来源:Daniel Fabian (d.fabian@sec-consult.com)
链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110321976808504&w=2
*>
测试方法:
--------------------------------------------------------------------------------
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Daniel Fabian (d.fabian@sec-consult.com)提供了如下测试方法:
如有如下PHP脚本:
<?
$whatever = addslashes($_REQUEST[whatever]);
include("/path/to/program/" . $whatever . "/header.htm");
?>
恶意攻击者可以提交如下URL获得文件内容:
http://localhost/phpscript.php?whatever=../../../../boot.ini%00
建议:
--------------------------------------------------------------------------------
厂商补丁:
PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载升级到PHP 4.3.10或者5.0.3版本:
http://www.php.net/
相关文章推荐
- HttpClient使用之下载远程服务器中的文件(注意目录遍历漏洞)
- PHP ZipArchive::extractTo()函数.zip文件目录遍历漏洞
- PHP 远程文件管理,可以给表格排序,遍历目录,时间排序 点击表格第一行,头部就可以排序了,这个列子是当前目录的
- PHP处理Linux中生成文件目录及读取内容遍历应用
- phpcms <= v9.15 任意文件读取漏洞的分析和利用
- PHPMailer任意文件读取漏洞分析(CVE-2017-5223)
- PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
- Web迅雷远程任意文件读取漏洞
- HttpClient使用之下载远程服务器中的文件(注意目录遍历漏洞)
- TEC-004-php文件下载任意文件读取漏洞修复
- PHP远程文件管理,可以给表格排序,遍历目录,时间排序
- FCKeditor connector.php任意文件上传漏洞
- PHP 网络开发详解之远程文件包含漏洞
- php遍历目录输出目录及其下的所有文件示例
- 交作业 php100 第七讲 遍历目录下所有文件、文件夹
- php实现遍历目录并删除指定文件中指定内容
- Serv-U FTP Jail Break(越权遍历目录、下载任意文件)
- PHP创建文件、创建目录和遍历目录文件
- php遍历目录输出目录及其下的所有图片文件