ホームページ  >  記事  >  バックエンド開発  >  FastCGI を使用して脆弱性を解析し、PHP でソリューションを修復する、phpfastcgi_PHP チュートリアル

FastCGI を使用して脆弱性を解析し、PHP でソリューションを修復する、phpfastcgi_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:05:201028ブラウズ

PHP、phpfastcgi で FastCGI 解析の脆弱性と修復ソリューションを使用する

脆弱性の説明:

Nginx はデフォルトで CGI モードでの PHP 解析をサポートしています。一般的な方法は、定期的なマッチングを通じて Nginx 設定ファイルに SCRIPT_FILENAME を設定することです。 URL http://192.168.1.102/phpinfo.jpg/1.php にアクセスすると、$fastcgi_script_name が「phpinfo.jpg/1.php」に設定され、SCRIPT_FILENAME に構築されて PHP CGI に渡されます。 PHP で fix_pathinfo オプションがオンになっている場合、PHP は SCRIPT_FILENAME が phpinfo.jpg、1.php が PATH_INFO であると認識するため、phpinfo.jpg は PHP ファイルとして解析されます。

脆弱性の危険性:

WebServer Fastcgi の設定が不適切な場合、他のファイル (css、js、jpg、その他の静的ファイルなど) が解析され、php スクリプトとして実行されます。ユーザーが悪意のあるスクリプト Web シェルを静的ファイルに変更して Web サーバーにアップロードし、解析と実行のためにバックエンド PHP に渡すと、攻撃者はサーバー上での操作権限を取得します。

修復ソリューション:

(Nginx ユーザーはオプション 1 またはオプション 2 を選択できます。IIS ユーザーはオプション 1 を使用してください)

オプション 1、php.ini ファイルを変更し、cgi.fix_pathinfo の値を 0 に設定します。完了したら、PHP と NGINX (IIS) を再起動してください。

オプション 2、次のコードを Nginx 構成ファイルに追加します:

コードをコピーします コードは次のとおりです:
if ( $fastcgi_script_name ~ ..*/.*php ) {
リターン 403;
}

このコード行の意味は、test.jpg/a.php に類似した URL が一致すると、403 エラー コードが返されるということです。変更が完了したらNginxを再起動してください。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1069347.html技術記事 FastCGI 解析の脆弱性の使用と PHP での修復ソリューション、phpfastcgi 脆弱性の説明: Nginx はデフォルトで CGI での PHP 解析をサポートしています。一般的な方法は、Nginx 構成ファイルで正規表現を渡すことです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。