有時候,您的業(yè)務(wù)可能涉及到 php 應(yīng)用程序的安全性。當(dāng)您遇到審計任務(wù)時,您知道如何執(zhí)行查找嗎?本系列將帶您進(jìn)入 php,并幫您在一定程序上了解它,讓您在進(jìn)行安全審計時知道查找什么。
第 1 部分向您介紹 register_globals 設(shè)置。
入門知識
我在此假定您對 php 的語法有一個大致的了解,至少能夠編寫“hello world”之類的程序。如果您不具備基礎(chǔ)知識,則請首先學(xué)習(xí) php 手冊和某些基本的 php 教程(參閱 參考資料)。很多出版商都有關(guān)于 php 的好書。建議初學(xué)者一開始先看看入門書籍或食譜形式的書籍。
在生產(chǎn)環(huán)境的準(zhǔn)確副本上執(zhí)行審計。您不需要復(fù)制硬件,但是需要確保軟件版本盡量和實際的完全一樣。php 配置必須精確匹配,這一點在 php.ini 文件中、在 .htaccess 文件的 apache 指令中或在 httpd.conf 中已經(jīng)指定。您需要準(zhǔn)備一個單獨的環(huán)境,因為您將顯示和記錄可能包含敏感的密碼及其他信息的錯誤。此外,您將嘗試中斷站點的安全性,這一點是您在活動應(yīng)用程序中極力避免的。
第一步是將 php 的 error_reporting 設(shè)置更改為 e_all。設(shè)置更改后,每當(dāng)使用未初始化的變量、進(jìn)行錯誤的文件訪問及發(fā)生其他(大多數(shù))無害錯誤時,php 都會報告一條警告消息,但也存在這是一個潛在攻擊矢量的可能性。這些錯誤一般情況下只是表明編程草率,所以如果這是您的代碼,您把它們清除掉即可。
該設(shè)置如下所示:
error_reporting = e_all
如果您不知道 php.ini 文件在哪里,則可以通過創(chuàng)建包含以下文本的 .php 腳本來查找:
<?php
phpinfo();
新聞熱點
疑難解答