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 |