読み取り専用で実行されるSGIDビットを含むPHPファイルにセキュリティ上の問題がありますか? [コピー]

読み取り専用で実行されるSGIDビットを含むPHPファイルにセキュリティ上の問題がありますか? [コピー]

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');

シェルスクリプトでsetuid設定を許可する

最新の実装がsgidの活用を処理する方法についての興味深い方法を文書化します。

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

注#! simlink攻撃は、shebangがサポートされていない前の1983年から1993年まで問題になり、その後はより安全に実装されました。

おすすめ記事