PHPNetToolpack远程命令执行漏洞


添加时间:
2005-10-01

系统编号:
WAVDB-00716
BugCVE: CVE-2002-0471
BUGTRAQ: 4303

影响版本:
PHPNetToolpack 0.1

程序介绍:

PHPNetToolpack是一款由PHP实现在WEB接口下提供finger、whois、traceroute功能的程序,可以运行在Unix和Linux操作系统下,也可运行在Microsoft Windows操作系统平台下。

漏洞分析:

PHPNetToolpack由于在执行traceroute程序时没有充分过滤用户输入,可导致远程攻击者以httpd权限执行任意命令。

由于PHPNetToolpack使用如下代码:

exec("traceroute $a_query",$ret_strs);

调用traceroute程序,并且没有对$a_query变量进行充分,攻击者可以输入的元字符";"来追加任意命令,可导致攻击者可以以httpd的权限执行任意命令。



解决方案:
临时解决方法:
 如果您不能立刻安装补丁或者升级,建议您采取以下措施以降低威胁:
 * 使用escapeshellcmd()函数检查输入字符,可以在traceroute函数中使用如下代码:
 $sec_input=escapeshellcmd($a_query);
 exec("/sbin/traceroute $sec_input",$ret_strs);
 代替:
 exec("traceroute $a_query",$ret_strs);

 厂商补丁:
 PHPNetToolpack
 --------------
 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
 http://phpnettoolpack.sourceforge.net/

信息来源:
<*来源:ppp-design (security@ppp-design.de)
   链接:http://archives.neohapsis.com/archives/bugtraq/2002-03/0200.html
 *>