
我找到 php 文件SGID 位元和唯讀&執行。該團體是根。這是一個問題嗎?
因為使用者需要使用我們的帳戶來運行 php 解釋器,這是否會導致權限升級?
例如,用戶www-數據跑步php作為www-數據並調用該文件SGID位,他能成為root嗎?
php path/to/file.php
答案1
是的;如果直接在啟用了 sgid-on-!# 的作業系統上運行,並且由於缺乏輸入衛生等原因,php 檔案可能被欺騙寫入任意文件,則 sgid:root 將以 root 身分運行該文件。
這是一個很大的 IF,但建議進行深度防禦,因為錯誤很多。
測試suid;
./test.php && whoami
root
www-data
其中 test.php 包含
#!/usr/bin/php
echo exec('whoami');
記錄現代實作如何處理利用 sgid 的有趣方式
https://www.in-ulm.de/~mascheck/various/shebang/#setuid
注意#! simlink 攻擊是從 1983 年到 1993 年的一個問題,在此之前 shebang 不受支持,之後它得到了更安全的實施。