|
摘要:通过构建虚拟安.全测试平台,配置ASP、PHP、JSP安.全测试环境,确保虚拟主机安.全。本节为大家介绍盛行的PHP虚拟主机安.全配置。
通过构建虚拟安.全测试平台,配置ASP、PHP、JSP安.全测试环境,确保虚拟主机安.全。本节为大家介绍盛行的PHP虚拟主机安.全配置。
盛行的PHP虚拟主机安.全配置
PHP最初是被称作Personal Home Page,后来随着PHP成为一种十分盛行的脚本言语,称号也随之改动了,叫作Professional HyperText PreProcessor。以PHP 4.2为例,支持它的Web服务器有Apache、Microsoft IIS、Microsoft PWS、AOLserver、Netscape Enterprise等。它是一种跨平台的服务器端的嵌入式脚本言语,大量地借用了C、Java和Perl言语的语法,并耦合PHP自己.的特性,使Web开发者可以快速地写出动态生成页面。还有一点,PHP是完全免费的,不用花钱,用户可以从PHP官方站点自由下载。而且可以不受限制地取得源码,甚至可以加进自己.需要.的特征功能。
在PHP的安.全调试理论中,使用过PHP和MySQL的分离,可以生成后门木马;就PHP自身而言,它还存在远程溢出、远程回绝服务、safe_mode绕过漏洞.以及PHP自身的安.全配置问题。例如:PHP 4.1.2以下的一切版本都存在文件上传远程缓冲区溢出漏洞.,而且攻击程序已经普遍传播
HP 4.2.0和PHP 4.2.1存在PHP multipart/form-data POST恳求处理远程漏洞.,虽然不能取得本地用户权限,但是也能形成回绝服务。因而,除了保证IIS、Apache等Web服务器的安.全,还要从PHP自身的安.全等方面着手,假如发现某个PHP版本存在安.全问题,一定要及时升级到最新版本。在开始解说这些安.全问题之前,用户必需对PHP的调试环境有一个比较详细的理解。
对于PHP的应用,使用Linux操作系统下的Apache+PHP+MySQL配置可以到达比较称心的效果,理由很简单,PHP的原型就是基于Linux系统开发的一个Web服务工具,虽然也为了方.便移植到Window系统,但是却有相当部分的功能和性能不能完全发挥。不过,对于已经习惯使用Windows系统的安.全喜好者来说,Windows系统的提高性决议了Windows下的测试环境依然是首选的整合。默.认状况下,IIS是不支持PHP的,手工配置IIS的PHP调试环境相对繁琐,而且还不一定能保证配置成功。因而,很多安.全喜好者本来希望测试PHP脚本,却堕入了环境配置的无尽烦恼中。那么,如何才能让IIS支持PHP呢?下面介绍一种方法,只需要.简单几步就能在IIS中配置好PHP调试环境。
(1)登录h ttp://www.php.net/downloads.php,下载最新的PHP for Windows版本。本例所测试的是PHP 5.0.4 installer这个版本。
(2)安装这个软件。这时,软件会提示选择需要.配置的IIS版本。当然,我们也可以选择安装Apache等Web服务器,这样也可以直接在其上安装PHP。选择后,直接单击Next按钮进入下一步,如图1所示。
图1 设置PHP调试环境的参数
(3)完成安装。软件会提示安装成功的提示。在这样的环境下,我们就可以开始对PHP程序进行安.全测试了。现在,在"Internet服务管理器"中,右击网站目录,选择"属性",在网站目录属性对话框的"主目录"页面中,单击"配置"按钮,弹出"应用程序配置"对话框,在"应用程序映射"页面,就可以看到PHP程序的配置文件了。
小知识:假如需要.其他的扩展功能,可以直接下载PHP的zip安装包,解压缩到C:PHP目录下。这可是一个最简单直接的方法了,这样很多功能都可以使用了。假如要使用MySQL数据库,还要打开C:WINNT下的php.ini文件,找到extension_dir = "./",改为extension_dir = "c:/php/ext",找到";extension=php_MySQL.dll"将";"去掉,改为"extension=php_MySQL.dll"。这样就可以直接调用MySQL的功能模块了。
(4)安装MySQL程序。打开h ttp://www.MySQL.com/downloads/index.html下载推荐的MySQL数据库稳定版本。安装完成,软件会提示选择Service Name和设置Windows的环境变量,如图2所示。
图2 设置PHP数据库调试环境
然后,设置默.认的管理员密码。安装完成。MySQL的执行性能十分高,运行速度十分快,并且十分容易使用,是一个优秀的免费数据库。
在PHP下面用浏览器打开h ttp://localhost/testdb.php,假如输出"success",表示数据库连接正确。testdb.php的代码如下:
(5)测试phpMyAdmin管理程序。需要.下载phpMyAdmin这个程序。首先,打开h ttp://www.phpmyadmin.net网站,找到下载区,开始下载phpMyAdmin管理程序。然后,将程序拷贝到IIS的某个虚拟目录下。打开后的phpMyAdmin界面如图3所示。
图3 phpMyAdmin界面
完成上述环境搭建之后,我们重点关注一下PHP配置的一些安.全问题。PHP的配置十分灵敏,可以通过php.ini、httpd.conf、.htaccess文件进行设置,还可以在脚本程序里使用ini_set()及其他的特定的函数进行设置。例如,设置注入(sql_inject)问题时,要求程序员对一切用户提交的要放到SQL语句的变量进行过滤。即便是数字类型的字段,变量也要用单引号括起来,MySQL自己.会把字串处理成数字。在MySQL里不要给PHP程序高级别权限的用户,只允许对自己.的库进行操作。 |
|
|
|
|
|
|