この脆弱性は packetstorm で公開され、私自身のコメントを追加しました。NT で
PHP を実行している友人に役立つことを願っています。
PHP をダウンロードした後、それに含まれるインストール ファイルは、PHP を NT + Apache Web サーバーにインストールするのに役立ちます
インストール ヘルプでは、次の設定行を Apache の httpd.conf 設定ファイルとこのインストール ファイルに追加するように求められます。システム ポータルを開くよう案内されます。
これらのコマンド行は次のとおりです:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe "
これら 3 行の設定についてさらに説明します。これらの設定コマンドでは、Apache が /php/ 仮想ディレクトリを c:/php/
ディレクトリに直接マップする必要があるため、次のように使用します。
"http://www.たとえば、com/php/"
Web ページにリンクすると、Web サーバーは実際にはディレクトリ c:/php/ に直接アクセスします。このとき、「アクセスが拒否されました」というエラー メッセージが表示されます
。 :
"http://www.example.com/php/php.exe"
接続するコマンドを実行すると、サーバーから「入力ファイルが指定されていません。」という行が返されることがわかります。 php によって生成されます。 .exe
によって実行されたポストバックは、このサーバー上で php 実行可能ファイルを実行したことを意味します。
phpで教えたインストール方法でサーバーをセットアップした場合、現時点で次のような危機が発生する可能性があります。
[** 脆弱性 1 **]
次の方法で接続する限り、この脆弱性を利用して、ディスク間であってもこのサーバー上の任意のファイルを読み取ることができます:
"http://www .example .com/php/php.exe?c:winntrepairsam"
PHP はファイル "c:winntrepairsam" をブラウザーにスローして表示します。このファイルは Windows NT
がパスワードを保存する場所です。
"http:/ /www.example.com/php/php.exe?d:winntrepairsam"
PHP は同じファイルを D: ディスクに転送します。
この SAM ファイルを使用すると、ハッカーはこのファイルを使用して、このマシンに設定したパスワードを解読できます。
[** 脆弱性 2**]
php ディレクトリ内のファイルを指定すると、Web サーバーはそのファイルを実行しようとしてエラー メッセージを渡します。そのため、
use:
"http :// www.example.com/php/php4ts.dll"
このエラーにより、Web サーバーは「子プロセスを作成できませんでした: 22693: C:/php/php4ts.dll」
というメッセージを返すことになります。 PHP をインストールした実際のディレクトリが漏洩します
PS。私がテストした結果、2 番目の脆弱性は PHP V4.11 で実行すると「内部サーバー エラー」エラーを返しますが、PHP V4 ではディレクトリ構造は漏洩しません。 .11 では、最初の脆弱性は依然として有効です。
簡単な解決策: 長くて決定が難しい仮想ディレクトリを使用して、次のような PHP 実行可能ファイルを配置します:
ScriptAlias /php-mY-sCrIpT/ "c:/php411/"
AddType application/x -httpd-php.php
Action application/x-httpd-php "/php-mY-sCrIpT/php.exe"
これにより、侵入者が PHP が保存されているディレクトリを知ることが困難になり、侵略されてる。
httpd.conf を変更した後は、必ず Apache サービスを再起動してください∶
NET STOP APACHE
NET START APACHE
[END]
http://www.bkjia.com/PHPjc/314706.html