3 回答

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊
這是一種情況:
您擁有用戶可以上傳到的不受保護(hù)的目錄。
他們上傳了兩個文件:一個shell腳本和一個其中
system()
調(diào)用了shell腳本的php文件。他們通過訪問瀏覽器中的URL來訪問剛上傳的php腳本,從而使shell腳本得以執(zhí)行。
如果此目錄為777,則意味著任何人(包括用戶apache,即將執(zhí)行php腳本的人)都可以執(zhí)行它!如果未在該目錄上設(shè)置執(zhí)行位,并且未在該目錄內(nèi)的文件上設(shè)置執(zhí)行位,則上述第3步將無效。
從注釋中進(jìn)行編輯:無關(guān)緊要的是PHP文件的權(quán)限,它是system()
PHP文件內(nèi)部的調(diào)用,將由linux用戶apache(或您設(shè)置為運行的apache的任何東西)作為linux系統(tǒng)調(diào)用執(zhí)行。恰好在執(zhí)行位很重要的地方。

TA貢獻(xiàn)1801條經(jīng)驗 獲得超8個贊
這大大增加了您的網(wǎng)站針對惡意活動的漏洞配置文件,因為只需要闖入一個帳戶即可。
任何通過任何登錄名即可訪問系統(tǒng)的人都可以對您的頁面執(zhí)行任何操作,包括將其更改為“此網(wǎng)站確實不安全,請給我您的信用卡信息”。
編輯:(以澄清和解決評論)
許多服務(wù)器在生活中具有多個目的。他們運行多種服務(wù)。如果通過為每個服務(wù)分配一個唯一的用戶并相應(yīng)地管理文件權(quán)限來仔細(xì)地將這些服務(wù)彼此隔離,是的,如果有人破壞了帳戶的憑據(jù),您仍然處于困境中,但是它們所造成的損害僅限于該服務(wù)。如果您只有一個通用帳戶并將整個文件系統(tǒng)設(shè)置為777,則一個受到破壞的帳戶會危害計算機(jī)上的所有內(nèi)容。
如果您的服務(wù)器專用于僅運行Apache / PHP,并且在生活中沒有其他用途,并且只有一個帳戶正在運行Apache / PHP,則破壞一個帳戶與使整個計算機(jī)不受破壞一樣好。從您的應(yīng)用程序的角度來看(盡管您仍然應(yīng)該使用運行PHP的帳戶來保護(hù)和禁止寫系統(tǒng)文件,但是對于管理員帳戶/ root用戶仍然應(yīng)該可以使用)。
如果他們可以編寫文件并且可以執(zhí)行,則可以將其更改為在您的計算機(jī)上執(zhí)行的文件(可執(zhí)行文件或腳本),然后使用PHP的shell_exec運行該可執(zhí)行文件。如果您配置為不允許shell_exec,則他們也可以更改您的配置

TA貢獻(xiàn)2039條經(jīng)驗 獲得超8個贊
在權(quán)限方面遵循極簡主義有很多很好的一般原因,但是在LAMP虛擬主機(jī)的情況下,容易想到的是
在共享主機(jī)平臺上,共享您的主機(jī)的其他用戶現(xiàn)在可以讀取和寫入您的腳本。
在專用主機(jī)上,流氓進(jìn)程可以讀取/寫入并意外刪除您的文件。假設(shè)有一個自定義日志記錄進(jìn)程在后臺運行,但用戶nobody的錯誤導(dǎo)致嘗試這樣做
rm -rf /
?,F(xiàn)在通常這將是無害的,因為幾乎不會有任何文件沒有人具有寫許可權(quán),但是此流氓過程現(xiàn)在會將文件隨身攜帶。要破壞您的網(wǎng)站,某人只需以任何用戶的身份獲得訪問權(quán)限,甚至可以說一個
nobody
或類似的虛擬帳戶。通常,攻擊者必須進(jìn)行進(jìn)一步的用戶級別升級攻擊,才能到達(dá)可能造成一定損害的地方。這是一個真正的威脅。某些非關(guān)鍵服務(wù)可能正在虛擬帳戶下運行,并且可能包含漏洞。
添加回答
舉報