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

php mail函数可以用来绕过safe_mode限制


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

受影响系统
php4.0.6
php4.0.5
详细描述
php mail()函数没有很好的检查特殊SHELL命令字符,甚至在PHP
运行在safe_mode下也能绕过限制执行命令,问题存在于下面代码
中:
>extra_cmd = (*argv[4])->value.str.val;
>strcat (sendmail_cmd, extra_cmd);
>sendmail = popen(sendmail_cmd, "w");

测试代码
mail("toto@toto.com",
         "test",
         "test",
         "test",
        "; shell_cmd");

解决方案
在mail()函数中(ext/standard/mail.c152行,if (extra_cmd!=NULL( {)
前一行)增加如下一行:

extra_cmd=NULL;


在重新编译PHP。

相关信息
Laurent Sintes (sintes@nfrance.com)