2011-03-13 20 views
1

我的網站有一些嚴重的安全漏洞。確保網絡服務器安全後,我現在將確保我的php文件。所有使用php編輯文件的方法? (安全)

因此,我想知道所有的方法可能會被用來上傳或編輯PHP文件,因爲我的PHP腳本中的漏洞利用。

+0

不是搜索單個函數名稱,而是首先查找圖像上傳特徵。實際的問題在於未提交的客戶端提交的值。 – mario 2011-03-13 13:54:53

+0

@mario真的,但你們所有的程序員都應該意識到所有危險的功能,有些並不那麼明顯。 – rook 2011-03-13 20:27:49

回答

2

如果您的網絡服務器遭到入侵,則無法重新安裝整個網絡服務器!如上所述,可能已經安裝了rootkit。我想通過「保護網絡服務器」,你也重新安裝了它?

這一切都取決於你的網絡服務器託管什麼。如果您使用任何類型的CMS(joomla,...)或論壇,請檢查這些內容的更新。

我上面提到的事情上意見不一致:

  • 檢查您的用戶可以上傳圖片或其他文件
  • 檢查包括在PHP文件:如果你使用動態,包括(即:包括($ _GET ['sitename']。'.php');)然後請將白名單檢查這些項目。這意味着只包含已知的網站
  • 看看你的PHP日誌(你可以在你的php.ini中找到你的php日誌的路徑)。這些日誌(特別是通告和警告)會在您的程序中帶來大量缺陷。您可能會發現攻擊者如何在那裏危害您的服務器(如果您知道服務器何時受到攻擊)
  • 當您處於此位置時:檢查SQl Injections。 (http://php.net/manual/de/security.database.sql-injection.php)
  • 搜索「eval」和系統執行功能的用法,如「exec」(http://at2.php。 net/manual/en/book.exec.php)
0

尋找一個web shell腳本,基本上是一個PHP文件,它允許任何人在訪問時做任何事情。

黑客通常會嘗試使其看起來非惡意,例如,僞裝成Google網站站長工具驗證文件google-34facsdb7fdfd33c.php

1

一個最常見的問題是像include($_REQUEST['site'].'.php')代碼,允許攻擊者包括來自遠程服務器的代碼,如果allow_url_include沒有在php.ini中禁用

+0

可否請您詳細說明 – TDSii 2011-03-13 14:15:12

2

嘆息,成百上千。在代碼中進行適當的安全檢查,並且爲了上帝的緣故,不要爲網絡用戶設置任何可寫/可執行的內容(不應該像人們似乎沉迷於懶惰的毯子0777)。

+0

然後您推薦什麼? – TDSii 2011-03-13 14:48:01

+1

「所有者」和網絡服務器的獨立用戶,將所有者,組擁有的文件作爲網絡服務器組。 chmod文件'0640',dirs'0750'。將文件上傳到文檔根目錄之外並通過'readfile'提供它們,或者如果你需要它們在文檔根目錄[禁用該目錄中的php](http://stackoverflow.com/questions/1271899/disable-php-in-directory-其中,所有子目錄與 - htaccess的)。切勿使用FTP等不安全的方法來上傳SFTP/SCP等安全的方法。經常在自己的計算機上掃描記錄器/病毒/惡意軟件。清理和驗證所有用戶輸入。 – Wrikken 2011-03-13 17:52:01