nginxの解析の脆弱性の再現性

nginxの解析の脆弱性の再現性

まず、脆弱性の説明

脆弱性はnginxの、PHPのバージョンとは関係ありません、ユーザーが不適切な構成によって引き起こさ解析の脆弱性に属しています

脆弱性の第二に、原則

FastCGIプロセスへのファイルの最後に「.phpの」nginxのにつながるnginx.confの構成による1は、このHTTP用に構成することができる。必ずしもエンド//ip/uploadfiles/test.png/.php(URL " .php「存在しない任意のPHPファイルサーバをすることができ、例えば、」a.php「)、PHPコードを含む当社test.pngアップロード写真ファイルです。

  

電流経路が存在しない場合は2、しかしのFastCGIを処理するときに発見された「の.php」ファイルが存在しない場合、設定ファイルphp.iniのcgi.fix_pathinfo = 1上部層を用いて、ように構成修復経路において役割を演じますパス。FastCGIの文書処理をここでいう、このような理由から「/test.png」になります。

3、最も重要な点は、security.limit_extensions FastCGIの設定項目では、PHP-fpm.confは、分析文書(コード解析に指定ファイルのつまり何種類)の種類を制限し、それはFastCGIの "許可するとき、このセットが空であることですコード分​​析やその他の文書など.PNG」。

  

注意:制限FPMは、拡張スクリプトの解析を可能にします。この設定は、誤ったWebサーバの設定を防ぐことができます。FPMは、PHPコードのみを実行する他の拡張機能を使用して悪意のあるユーザの防止、拡張.PHPを解決するために限定されるべきです。デフォルト値:.PHP

第三に、脆弱性構築するための環境と再現性

1、ドッキングウィンドウ構築された環境の脆弱性

2.環境を実行するには、次のコマンドを実行します。

アップドッキングウィンドウは、構成-d

3、ブラウザアクセスhttp://172.17.0.1/

  

4は、の末尾に追加し、パケットを変更し、画像、げっぷキャプチャをアップロード<PHPのするphpinfo();?>

  

5、ブラウザアクセスhttp://172.17.0.1/uploadfiles/3626850d481efd38a8ae8164011f41b2.jpg/a.php

次の図は、プレゼンス解析の脆弱性を示す、PHPコードの成功の実装を参照してください

  

6、コンフィギュレーション・ファイルのphp-fpm.confを変更

  

7、サービスを再起動します

ドッキングウィンドウ・コン再起動

  

8、浏览器再次访问http://172.17.0.1/uploadfiles/b5f7a062d84869fe4f3af35b79fca50c.jpg/x.php,发现被拒绝,说明漏洞被修复

  

四、漏洞防御

1、 将php.ini文件中的cgi.fix_pathinfo的值设置为0,这样php再解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404页面

2、 php-fpm.conf中的security.limit_extensions后面的值设置为.php

おすすめ

転載: www.cnblogs.com/yuzly/p/11208742.html