PHP木馬的防範方法

2021-07-15 13:11:16 字數 3676 閱讀 6961

一、防止php木馬執行webshell 

開啟safe_mode, 在,php.ini中設定 disable_functions=passthru,exec,shell_exec,system二者選一即可,也可都選。 

二、防止跳出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以外的檔案將不會被允許,如果錯誤顯示開啟的話會提示這樣的錯誤:warning: open_basedir restriction in effect. file is in wrongdirectory in /usr/local/apache/htdocs/open.php on line 4等等。 

三、防止php木馬讀寫檔案目錄 

在php.ini中的 disable_functions= passthru,exec,shell_exec,system後面加上php處理檔案的函式,主要有fopen,mkdir,rmdir,chmod,unlink,dir,fopen,fread,fclose,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。 

ok,大功告成,php木馬拿我們沒轍了,遺憾的是這樣的話,利用文字資料庫的那些東西就都不能用了。如果是在windos平台下搭建的apache還需要注意一點,apache預設執行是system許可權,必須給apache降降許可權,如下: 

net user apache f**kmicrosoft/add 

net localgroup users apache /del 

此時建立了乙個不屬於任何組的使用者apche,只要開啟計算機管理器-服務-apache服務的屬性-log on-thisaccount,在這裡填入上面所建立的賬戶和密碼,重啟apache服務即可實現apache執行在低許可權下。 

總結:實際上還可以通過設定各個資料夾的許可權,給每乙個目錄建立乙個單獨能讀寫的使用者,來實現安全。當前很多虛擬主機提供商的流行配置方法,不過這種方法用於防止這裡就顯的有點大材小用了。只要我們管理員有安全意識,相對的禁閉不用的功能就可以保證網路安全的威脅。 

phpinfo()

功能描述:輸出 php 環境資訊以及相關的模組、web 環境等資訊。

危險等級:中

passthru()

功能描述:允許執行乙個外部程式並回顯輸出,類似於 exec()。

危險等級:高

exec()

功能描述:允許執行乙個外部程式(如 unix shell 或 cmd 命令等)。

危險等級:高

system()

功能描述:允許執行乙個外部程式並回顯輸出,類似於 passthru()。

危險等級:高

chroot()

功能描述:可改變當前 php 程序的工作根目錄,僅當系統支援 cli 模式

php 時才能工作,且該函式不適用於 windows 系統。

危險等級:高

scandir()

功能描述:列出指定路徑中的檔案和目錄。

危險等級:中

chgrp()

功能描述:改變檔案或目錄所屬的使用者組。

危險等級:高

chown()

功能描述:改變檔案或目錄的所有者。

危險等級:高

shell_exec()

功能描述:通過 shell 執行命令,並將執行結果作為字串返回。

危險等級:高

proc_open()

功能描述:執行乙個命令並開啟檔案指標用於讀取以及寫入。

危險等級:高

proc_get_status()

功能描述:獲取使用 proc_open() 所開啟程序的資訊。

危險等級:高

error_log()

功能描述:將錯誤資訊傳送到指定位置(檔案)。

安全備註:在某些版本的 php 中,可使用 error_log() 繞過 php safe mode,

執行任意命令。

危險等級:低

ini_alter()

功能描述:是 ini_set() 函式的乙個別名函式,功能與 ini_set() 相同。

具體參見 ini_set()。

危險等級:高

ini_set()

功能描述:可用於修改、設定 php 環境配置引數。

危險等級:高

ini_restore()

功能描述:可用於恢復 php 環境配置引數到其初始值。

危險等級:高

dl()

功能描述:在 php 進行執行過程當中(而非啟動時)載入乙個 php 外部模組。

危險等級:高

pfsockopen()

功能描述:建立乙個 internet 或 unix 域的 socket 持久連線。

危險等級:高

syslog()

功能描述:可呼叫 unix 系統的系統層 syslog() 函式。

危險等級:中

readlink()

功能描述:返回符號連線指向的目標檔案內容。

危險等級:中

symlink()

功能描述:在 unix 系統中建立乙個符號鏈結。

危險等級:高

popen()

功能描述:可通過 popen() 的引數傳遞一條命令,並對 popen() 所開啟的檔案進行執行。

危險等級:高

stream_socket_server()

功能描述:建立乙個 internet 或 unix 伺服器連線。

危險等級:中

putenv()

功能描述:用於在 php 執行時改變系統字符集環境。在低於 5.2.6 版本的 php 中,可利用該函式

修改系統字符集環境後,利用 sendmail 指令傳送特殊引數執行系統 shell 命令。

危險等級:高

禁用方法如下:

開啟/etc/php.ini檔案,

查詢到 disable_functions ,新增需禁用的函式名,如下:

phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,

proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,

stream_socket_server,fsocket,fsockopen 

刪掉

有效防範PHP木馬的方法

導讀 有效防範php木馬的方法,在目前廣大的網路世界中,在出現一些大批量的網路資訊時,病毒木馬也是隨著的誕生。其中php木馬比較少見,所以大多數的童鞋在自己電腦系統中被植入了php木馬後就束手無策。那麼我們在自己的點按哦系統中要如何對php木馬進行防範呢?1 防止跳出web目錄 首先修改httpd....

如何防範PHP木馬 PHP WEBSHELL等

php是能讓你生成動態網頁的工具之一。php網頁檔案被當作一般html網頁檔案來處理並且在編輯時你可以用編輯html的常規方法編寫php。php的另一好處就在於他的安全性,隨著現在網際網路的發展,網路安全越來越受重視,php的誕生幾乎代替了asp,因為php對於安全方面的設定是極為簡單的不像asp那...

ASP木馬的防範 zz

asp木馬 webshell之安全防範解決辦法 1 首先我們來看看一般asp木馬 webshell所利用的asp元件有那些?我們以海洋森馬為列 objectrunat server id ws scope page classid clsid 72c24dd5 d70a 438b 8a42 9842...