mode限制执行命令漏洞
受影响系统:
PHP PHP 4.2.2
PHP PHP 4.2.1
PHP PHP 4.2.0
PHP PHP 4.1.2
PHP PHP 4.1.1
PHP PHP 4.1.0
PHP PHP 4.1
PHP PHP 4.0.7
PHP PHP 4.0.6
PHP PHP 4.0.5
描述:
BUGTRAQ ID: 2954
CVE(CAN) ID: CVE-2001-1246
PHP是一种流行的WEB服务器端编程语言,它功能强大,简单易用,在很多Unix操作系统默认都安装了PHP, 它也可以在Windows系统下运行。
PHP函数mail的第五个参数存在漏洞,远程攻击者可能利用此漏洞结构CGI脚本中的漏洞绕过PHP的safe_mode的限制执行系统命令。
从PHP-4.0.5开始,mail函数引入了第五个参数。去年被发现该参数没有很好过滤shell字符使得可以绕过safe_mode的限制执行系统命令。( http://http://www.zjjv.com///index.php?act=sec_bug&do=view&bug_id=1593 )该漏洞在PHP-4.0.6被修复。
然而,PHP的mail函数仍然存在漏洞。mail函数的第五个参数可以在发送mail的时候给MTA(php.ini的sendmail_path设定,默认都是sendmail)传递额外的选项参数,sendmail的-Cfile选项能够改变配置文件,利用sendmail的特性,我们可以在配置文件里指定执行命令,从而使得PHP的mail函数绕过safe_mode的限制来执行任意系统命令。
<*来源:Wojciech Purczynski (cliph@isec.pl)
链接:http://http://www.zjjv.com///?l=bugtraq&m=103011916928204&w=2
https://http://www.zjjv.com//support/errata/RHSA-2002-102.html
http://http://www.zjjv.com///security/2002/dsa-168
http://http://www.zjjv.com///en/security/2002/MDKSA-2002-059.php
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
Wojciech Purczynski (cliph@isec.pl)提供了如下测试方法:
- -----8<----- bypass_safe_mode.php -----8<-----
$script=tempnam("/tmp", "script");