帶有 SGID 位元且唯讀並執行的 php 檔案是否有安全性問題?

帶有 SGID 位元且唯讀並執行的 php 檔案是否有安全性問題?

我找到 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');

允許在 shell 腳本上設定 setuid

記錄現代實作如何處理利用 sgid 的有趣方式

https://www.in-ulm.de/~mascheck/various/shebang/#setuid

注意#! simlink 攻擊是從 1983 年到 1993 年的一個問題,在此之前 shebang 不受支持,之後它得到了更安全的實施。

相關內容