PHP ping远程命令执行漏洞
发布日期:2003-03-06
更新日期:2003-03-10
受影响系统:PHPPing PHPPing 0.1
描述:
BUGTRAQ ID:
7030
PHP ping是一款可在Windows平台下的使用的由PHP编写的ping工具程序。
phping没有正确检查用户提交的包含元字符的输入,远程攻击者可以利用这个漏洞以WEB进程权限在系统上执行任意命令。
PHPing包含如下有漏洞的代码:
<?
//*************************************
// FONCTION DU PING
//*************************************
function PHPing($cible,$pingFile){
exec("ping -a -n 1 $cible >$pingFile", $list);
$fd = fopen($pingFile, "r");
while(!feof($fd))
{
$ping.= fgets($fd,256);
}
fclose($fd);
return $ping;
}
//-------------------------------------
?>
攻击者提交包含元字符恶意数据给'pingto'参数,可导致以WEB进程权限执行提交的任意命令。
<*来源:Grégory (
gregory.lebras@security-corp.org)
链接:
http://marc.theaimsgroup.com/?l=bugtraq&m=104696886831278&w=2
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Grégory (
gregory.lebras@security-corp.org)提供了如下测试方法:
http://[target]/phpping/index.php?pingto=www.security-corp.org%20|%20dir
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* Grégory (
gregory.lebras@security-corp.org)提供如下第三方补丁:
使用如下代码:
<?
//*************************************
// FONCTION DU PING
//*************************************
function PHPing($cible,$pingFile){
# BugFix by Gregory LEBRAS www.security-corp.org
if( (!$cible) ||
(!preg_match("/^[\w\d\.\-]+\.[\w\d]{1,3}$/i",$cible)) ){
echo("Error: Please specify a valid target host or IP.");
exit;
}
else
{
exec("ping -a -n 1 $cible >$pingFile", $list);
$fd = fopen($pingFile, "r");
while(!feof($fd))
{
$ping.= fgets($fd,256);
}
fclose($fd);
return $ping;
}
}
//------------------------------------
代替:
<?
//*************************************
// FONCTION DU PING
//*************************************
function PHPing($cible,$pingFile){
exec("ping -a -n 1 $cible >$pingFile", $list);
$fd = fopen($pingFile, "r");
while(!feof($fd))
{
$ping.= fgets($fd,256);
}
fclose($fd);
return $ping;
}
//-------------------------------------
?>
厂商补丁:
PHPPing
-------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.phpapps.org/浏览次数:4216
严重程度:0(网友投票)