phpファイルが見つかりましたSGIDビットと読み取り専用と実行。グループは根。これは問題ですか?
ユーザーがPHPインタプリタを実行するには私たちのアカウントを使用する必要があります。
たとえば、ユーザーwww-データ走るPHP〜のようにwww-データそしてファイルを呼び出すSGIDビット、彼はルートになることができますか?
php path/to/file.php
ベストアンサー1
はい、sgid-on-!#が有効なオペレーティングシステムで直接実行され、入力衛生不足などによってPHPファイルが任意のファイルを作成するように欺くことができる場合、sgid:rootはファイルをrootとして実行します。
これは大きなIFですが、バグが多いので、深く防御することをお勧めします。
テストスーツ;
./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攻撃は、shebangがサポートされていない前の1983年から1993年まで問題になり、その後はより安全に実装されました。