【隨筆】Apache降權和禁用PHP危險函數


測試環境:

Windows Server 2003 + phpstudy

首先在win2003里運行phpstudy,這里注意需要選擇應用系統服務模式,應用之后重啟phpstudy。

打開系統服務(開始>>管理工具>>服務),出現Apache2a這個服務就成功了。

然后打開我們上傳的PHP大馬進行測試,正常情況下的權限為administrator。

環境測試正常,開始我們今天的學習目的。系統的權限分為system、admin和user權限。前兩個都擁有較高權限,因為我們需要進行降權。

1、新建一個普通用戶,命令如下。

net user yu 123qwe /add

打開服務界面,右鍵點擊Apache2a服務,屬性>>安全>>此賬戶,添加我們新建好的用戶。這里注意密碼需要重新輸進去。設置完成后重啟服務。

重啟時會出現如下錯誤:

我們打開日志看一下是什么原因。我的電腦>>管理>>事件查看器>>應用程序。

由日志可以發現是error.log文件拒絕訪問,缺失權限。因此我們對此文件進行權限設置,重新添加我們新建用戶的權限。

這里由於是日志文件,我就直接給了完全控制權限。(不是因為懶)

重新啟動Apache2a服務,成功啟動。在webshell上查看當前用戶,成功降為普通用戶。

2、進行目錄訪問限制。將網站根目錄WWW設置為只讀權限,禁止創建文件和修改文件。

將mysql目錄下的data文件夾權限只給:遍歷文件夾和列出文件夾。

  

權限設置成功。

至此。我們的權限設置就差不多完成了,其他目錄的權限設置也大同小異,大家可以自行修改。

最后,我們還希望最好能夠直接K掉webshell的命令執行功能,進一步降低風險,怎么做呢?

打開php.ini文件,找到 disable_functions =,將PHP危險函數添加進去。如下:

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,popen

保存之后重啟。再次執行命令,沒有出現結果,成功完成。

 

笨鳥先飛早入林,笨人勤學早成材。

轉載請注明出處:
撰寫人:fox-yu  http://www.cnblogs.com/fox-yu/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM