1

問題はused ps aux | grep apache、Apacheが誰としても実行されていないと言っていることです。しかし、それから を使用exec("whoami")すると、root または gt という別の結果が得られます。スクリプトの所有者によって異なります。スクリプトの所有者が の場合root、whoami はroot; が所有している場合gt、whoami はgtです。httpd.conf も確認しました。apache ユーザーは nobody で、グループは nobody です。

それで、誰かがこのことを説明できますか?

ありがとうございました!

4

1 に答える 1

1

cgi または fast-cgi を使用している場合、

"nobody" になるには、mod_php (Apache モジュールとしての php) を使用する必要があります。

http://php.net/manual/en/security.apache.php

PHP を Apache モジュールとして使用すると、Apache のユーザー権限 (通常は「nobody」ユーザーの権限) が継承されます。

http://www.php.net/manual/en/security.cgi-bin.attacks.php

PHP を CGI バイナリとして使用することは、何らかの理由で PHP をモジュールとしてサーバー ソフトウェア (Apache など) に統合したくない場合や、PHP をさまざまな種類の CGI ラッパーと共に使用して安全な chroot および setuid 環境を作成する場合のオプションです。スクリプト。

また、SuPHP https://serverfault.com/questions/7589/how-do-you-run-a-php-script-as-the-ownerもあります

于 2012-09-19T15:50:36.883 に答える