I.概要
ファイルには、それは関数であり、含まれています。様々な開発言語で組み込み開発者は、さらに、コードファイルを(導入)コードファイルを指示含む可能機能を含むファイルを、提供します。たとえば、PHPであって、
含む()のinclude_once()
が必要()するrequire_once()
これらのファイルは、頻繁にコードの設計に使用される機能を含みます。
ほとんどの場合、関数を含むコードファイルを含むファイルが固定されているため、セキュリティ上の問題ではありません。しかし、いくつかのケースでは、ファイルに含まれるコードは、変数として書かれている、とあなたは十分なセキュリティを考慮していない場合は、この場合には、それは脆弱性が含まれているファイルにつながる可能性があり、この変数は、フロントエンドユーザーによって渡すことができます。指定された「予想外」のファイルを持つ攻撃機能は、悪意のある行動を引き起こし、実行することができます含まれています。構成環境によっては、脆弱性を含むファイルには、次の2つの状況に分け:
1.ローカルファイルには、脆弱性が含まれています。
攻撃者がサーバを制御することができないため、サーバーのみがファイルを含むローカルファイルにすることができますので、この場合には、攻撃は、機密情報がシステムを読んでそうすることを、いくつかの追加の固定システム・コンフィギュレーション・ファイルが含まれます。脆弱性が存在し、多くの倍のローカルファイルには、より強力な形成するために、いくつかの特別なファイルアップロードの脆弱性と組み合わされます。
2.リモートファイルインクルージョンの脆弱性:
リモートファイルのURLアドレスを使用しても構いませんが、これは負傷準備ができて、何も言うことはありませんこれは、攻撃者が任意のコードを渡すことができることを意味し、含まれています。
あなたがそうする必要がある場合はそのため、機能的なデザインのWebアプリケーションのフロントエンドシステムでは、直接変数を渡すには、ユーザーが機能を含んで聞かせしないようにしよう、それは厳格なホワイトリストフィルタリング戦略で行わなければなりません。
二、ファイルインクルージョン(ローカル)
①私たちは、私は、ファイル名を発見したURLで、自由に選択できた後、
②私たちは他のファイルfile1.php情報を交換しようと、重要な情報ファイルが含まれている、私はあなたが良い1.TXTある親ディレクトリの内容で作成しました
変更../../1.txt
三、ファイルインクルージョン(リモート)
リモートファイルインクルージョンの脆弱性フォームがほとんどリモートでローカルファイルインクルージョンの脆弱性のような抜け穴が含まれている、リモートの攻撃者が外部アドレスにアクセスして、コードを読み込むことができます。
これは、リモート脆弱性の前提が含まれています。あなたはincluderを使用し、必要な場合は、php.iniの設定に必要な次のとおりです。
allow_url_fopenを=デフォルトで//上
allow_url_includeを= //デフォルトでオフに
①