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

PHP Net Toolpack存在输入验证漏洞


发布时间:2002-03-20
更新时间:2002-03-20
严重程度:
威胁程度:普通用户访问权限
错误类型:输入验证错误
利用方式:服务器模式

受影响系统
PHP Net Toolpack 1.0和之前版本
详细描述
PHP Net Toolpack是一款PHP接口的finger,traceroute,whois工具。其中对输入缺少正确的检查,可导致远程用户以Php用户权限执行任意代码。

问题存在与traceroute功能中的exec("traceroute $a_query",$ret_strs),由于$a_query在执行traceroute时没有进行过滤,使用";"元字符可以导致命令执行。

第二个问题是本地用户可以写一个名为traceroute的脚本文件,并为Php脚本提供搜索路径,就可能导致PHP执行用户指定的带有恶意代码的程序。

测试代码
"www.example.com; cat /etc/passwd"

解决方案
可以使用escapeshellcmd()命令检查输入字符:

$sec_input=escapeshellcmd($a_query);
exec("/sbin/traceroute $sec_input",$ret_strs);

相关信息
ppp-design (security@ppp-design.de)
参考:http://archives.neohapsis.com/archives/bugtraq/2002-03/0200.html
http://www.ppp-design.de/advisories_show.php?adv=php_net_toolpack__input_validation_error.txt
相关主页:phpnettoolpack.sourceforge.net