亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在PHP / Apache / Linux上下文中,為什么chmod 777確實是危險的?

在PHP / Apache / Linux上下文中,為什么chmod 777確實是危險的?

慕的地10843 2019-11-29 14:19:02
受此問題討論的啟發,這可能是一個愚蠢的問題。我們所有人都被告知,將目錄或文件留在基于Linux的Web托管上的權限級別777是一件壞事,并且總是根據需要設置盡可能少的權限。我現在好奇的地方正是在于剝削的危險,特別是在一個PHP / Apache的環境。畢竟,無論是否標記為“可執行文件”,都可以從外部執行PHP腳本文件(即,通過調用Web服務器,然后調用解釋器),不是嗎?同樣適用于通過命令行php解釋器調用的文件,對嗎?那么該漏洞的確切位置在哪里777?是同一臺計算機上的其他用戶可以訪問可寫的文件嗎?
查看完整描述

3 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

這是一種情況:

  1. 您擁有用戶可以上傳到的不受保護的目錄。

  2. 他們上傳了兩個文件:一個shell腳本和一個其中system()調用了shell腳本的php文件。

  3. 他們通過訪問瀏覽器中的URL來訪問剛上傳的php腳本,從而使shell腳本得以執行。

如果此目錄為777,則意味著任何人(包括用戶apache,即將執行php腳本的人)都可以執行它!如果未在該目錄上設置執行位,并且未在該目錄內的文件上設置執行位,則上述第3步將無效。

從注釋中進行編輯:無關緊要的是PHP文件的權限,它是system()PHP文件內部的調用,將由linux用戶apache(或您設置為運行的apache的任何東西)作為linux系統調用執行。恰好在執行位很重要的地方。


查看完整回答
反對 回復 2019-11-29
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

這大大增加了您的網站針對惡意活動的漏洞配置文件,因為只需要闖入一個帳戶即可。

任何通過任何登錄名即可訪問系統的人都可以對您的頁面執行任何操作,包括將其更改為“此網站確實不安全,請給我您的信用卡信息”。

編輯:(以澄清和解決評論)

許多服務器在生活中具有多個目的。他們運行多種服務。如果通過為每個服務分配一個唯一的用戶并相應地管理文件權限來仔細地將這些服務彼此隔離,是的,如果有人破壞了帳戶的憑據,您仍然處于困境中,但是它們所造成的損害僅限于該服務。如果您只有一個通用帳戶并將整個文件系統設置為777,則一個受到破壞的帳戶會危害計算機上的所有內容。

如果您的服務器專用于僅運行Apache / PHP,并且在生活中沒有其他用途,并且只有一個帳戶正在運行Apache / PHP,則破壞一個帳戶與使整個計算機不受破壞一樣好。從您的應用程序的角度來看(盡管您仍然應該使用運行PHP的帳戶來保護和禁止寫系統文件,但是對于管理員帳戶/ root用戶仍然應該可以使用)。

如果他們可以編寫文件并且可以執行,則可以將其更改為在您的計算機上執行的文件(可執行文件或腳本),然后使用PHP的shell_exec運行該可執行文件。如果您配置為不允許shell_exec,則他們也可以更改您的配置


查看完整回答
反對 回復 2019-11-29
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

在權限方面遵循極簡主義有很多很好的一般原因,但是在LAMP虛擬主機的情況下,容易想到的是

  • 在共享主機平臺上,共享您的主機的其他用戶現在可以讀取和寫入您的腳本。

  • 在專用主機上,流氓進程可以讀取/寫入并意外刪除您的文件。假設有一個自定義日志記錄進程在后臺運行,但用戶nobody的錯誤導致嘗試這樣做rm -rf /?,F在通常這將是無害的,因為幾乎不會有任何文件沒有人具有寫許可權,但是此流氓過程現在會將文件隨身攜帶。

  • 要破壞您的網站,某人只需以任何用戶的身份獲得訪問權限,甚至可以說一個nobody或類似的虛擬帳戶。通常,攻擊者必須進行進一步的用戶級別升級攻擊,才能到達可能造成一定損害的地方。這是一個真正的威脅。某些非關鍵服務可能正在虛擬帳戶下運行,并且可能包含漏洞。


查看完整回答
反對 回復 2019-11-29
  • 3 回答
  • 0 關注
  • 1065 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號