日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

如何有效防止PHP木马对网站提权

發(fā)布時間:2024/1/8 php 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何有效防止PHP木马对网站提权 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如何有效防止PHP木馬對網站提權

1.防止跳出web目錄

首先修改httpd.conf:

如果你只允許你的php腳本程序在web目錄里操作,還可以修改httpd.conf文件限制php的操作路徑。比如

你的web目錄是/usr /local/apache/htdocs,那么在httpd.conf里加上這么幾行:

php_admin_value open_basedir /usr/local/apache/htdocs

這樣,如果腳本要讀取/usr/local/apache/htdocs以外的文件將不會被允許。

但經過這樣修改后,關于php文件上傳會受到影響。后來終于找到了

為了安全,我們通常會在虛擬主機設置中,加入這一行

php_admin_value open_basedir “/usr/local/apache/htdocs/www”

但這會導致move_uploaded_file不能讀取臨時目錄中的上傳文件,導致上傳文件失失敗。

一般會提示以下錯誤:

Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/phpqwg5rO) is not within the allowed path(s): (/usr/local/apache/htdocs/www) in /usr/local/apache/htdocs/www/includes/lib_common.php on line 3130

解決方法:

將上傳文件的臨時目錄加入到php_admin_value open_basedir后面,最后看起來是這樣的:

php_admin_value open_basedir “/usr/local/apache/htdocs/www:/tmp”

注意:兩個目錄之間是冒號隔開(Linux中)。

如果是Windows中,將冒號換成分號:

php_admin_value open_basedir “d:/www/mysite;c:/windows/temp”

2.防止php木馬執(zhí)行webshell

打開safe_mode,

在,php.ini中設置

disable_functions= passthru,exec,shell_exec,system

二者選一即可,也可都選

3.防止php木馬讀寫文件目錄

在php.ini中的

disable_functions= passthru,exec,shell_exec,system

后面加上php處理文件的函數

主要有

fopen,mkdir,rmdir,chmod,unlink,dir fopen,fread,f*lose,fwrite,file_exists closedir,is_dir,readdir.opendir fileperms.copy,unlink,delfile

即成為

disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir,fopen,fread,fclose,fwrite,file_exists ,closedir,is_dir,readdir.opendir ,fileperms.copy,unlink,delfile,phpinfo

WP博客:

disable_functions = chdir,chroot,dir,getcwd,unlink,delete,copy,mkdir,file,fputs,chgrp,chmod,chown,passthru,exec,shell_exec,system,closedir,fileperms,delfile,phpinfo

ok,大功告成,php木馬拿我們沒轍了,_

重啟httpd服務,/usr/local/apache/bin/apachectl restart

遺憾的是這樣的話,利用文本數據庫的那些東西就都不能用了。

4、其他

找到”display_errors=on”改為”display_errors=off”

一般php在沒有連接到數據庫或者其他情況下會有提示錯誤,一般錯誤信息中會包含php腳本當前的路徑信

息或者查詢的SQL語句等信息,這類信息提供給黑客后,是不安全的,所以一般服務器建議禁止錯誤提示 。

查找:magic_quotes_gpc 如果是Off的話改成On

打開magic_quotes_gpc來防止SQL注入。

查找:open_basedir 后面增加 /www/ /說明:www為網站程序所放文件/

這個選項可以禁止指定目錄之外的文件操作,還能有效地消除本地文件或者是遠程文件被include()等函

數的調用攻擊。

expose_php設為off ,這樣php不會在http文件頭中泄露信息。

我們?yōu)榱朔乐购诳瞳@取服務器中php版本的信息,可以關閉該信息斜路在http頭中 。

設置“allow_url_fopen”為“off” 這個選項可以禁止遠程文件功能 。

下面的沒有測試

如果是在windos平臺下搭建的apache我們還需要注意一點,apache默認運行是system權限,這很恐怖,這讓

人感覺很不爽.那我們就給 apache降降權限吧.

net user apache ****microsoft /add net localgroup users apache /del

ok.我們建立了一個不屬于任何組的用戶apche.

我們打開計算機管理器,選服務,點apache服務的屬性,我們選擇log on ,選擇this account ,我們填入上

面所建立的賬戶和密碼, 重啟apache服務,ok,apache運行在低權限下了.

實際上我們還可以通過設置各個文件夾的權限,來讓apache用戶只能執(zhí)行我們想讓它能干的事情,給每一個

目錄建立一個單獨能讀寫的用戶.這也是當前很多虛擬主機提供商的流行配置方法哦,不過這種方法用于防止這

里就顯的有點大材小用了。

服務器防止webshell后門 ,php禁用eval

服務器被搞的不能行,因為特殊原因必須去市場上購買模板,所以避免不了被留下了后門。

研究了很久的后門,發(fā)現(xiàn)都是通過eval函數引起的,eval其實并不是一個函數,而是底層提供第一種特性。

看了百度很多文章,都是通過php擴展來禁用eval,

我們是站群服務器,

yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl cd /usr/local/src wget http://download.suhosin.org/suhosin-對應的版本.tgz tar zxvf suhosin-對應的版本.tgz cd suhosin-對應的版本 /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config make & make install

suhosin的版本可以去http://download.suhosin.org根據php版本選擇對應的,目前就5.x和7.0之分

編譯完成之后,會告訴你suhosin.so文件所在的位置。如果是默認位置的話一般都是/usr/lib64/php/modules/suhosin.so

在php.ini里加上這兩行就ok了

extension=/usr/lib64/php/modules/suhosin.so suhosin.executor.disable_eval=On

完畢。

驗證:

先把一句話木馬放到項目里,然后使用xx工具進行入侵

這時候http請求雖然成功了,但是已經無法拿到權限了。

其實,后門入侵的方式很多,尤其開發(fā)人員或者購買的代碼,這個只是防止了一句話木馬,還有更致命大馬、小馬 以及提權。

等我研究好防止大馬的東西會再出來記錄。

總結

以上是生活随笔為你收集整理的如何有效防止PHP木马对网站提权的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。