ピカチュウ射撃場 - ファイルの同梱

ファイル インクルードの脆弱性の概要
Web バックエンド開発では、プログラマーは効率を向上させ、コードをより簡潔に見せるために「include」関数をよく使用します。たとえば、一連の関数関数を function.php に記述し、特定のファイルを呼び出す必要があるときに、ファイル ヘッダーに直接 <?php という文を記述します。

include function.php> で関数コードを呼び出すことができます。

ただし、Web サイトの機能要件により、フロントエンド ユーザーはインクルードする必要があるファイルを選択するよう求められることがあります (または、フロントエンド関数で「インクルード」関数が使用されます)。また、開発者がファイルのセキュリティを考慮していないため、ファイルが含まれる場合、攻撃者は、含まれるファイルの場所を変更することで、任意のファイル (コード) をバックグラウンドで実行できるようになります。

この状況は「ファイル組み込みの脆弱性」と呼ばれます。

1.ファイルインクルード(ローカル)ローカルファイルインクルードの脆弱性

個人を選択し、「送信」をクリックして結果を確認します

別の文字に変更すると、URL が変更されたことがわかります

http://xxx/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4#

http://xxx/vul/fileinclude/fi_local.php?filename=file2.php&submit=%E6%8F%90%E4%BA%A4#

 

ここには 5 つのタスクがあることがわかりますが、6 つ入力するとどうなるでしょうか。

http://xxx/vul/fileinclude/fi_local.php?filename=file6.php&submit=%E6%8F%90%E4%BA%A4#

 

作者が残した小さなイースターエッグが見えます

この脆弱性を利用してファイルを読み取ることができます

http://xxx/vul/fileinclude/fi_local.php?filename=../../../../.././.././././././././././etc/passwd&submit=%E6%8F%90%E4%BA%A4#

 脆弱性が悪用されたことがわかります

2.ファイルインクルード(リモート)リモートファイルインクルードの脆弱性

リモート ファイル インクルードの脆弱性はローカル ファイル インクルードの脆弱性と似ており、攻撃者は外部アドレスにアクセスすることでリモート コードを読み込むことができます。

リモートインクルージョンの脆弱性の前提条件: include と require を使用する場合、php.ini を次のように設定する必要があります (php5.4.34)

allow_url_fopen=on //デフォルトで開く

Allow_url_include=on //デフォルトで閉じます。
この状況でオンライン射撃場を長い間探していました。射撃場ですらオープンしたがらず、これは非常に有害であることを示しているため、設定する必要があります一人で射撃場に上がる(最初の鳩)

おすすめ

転載: blog.csdn.net/qq_29977871/article/details/130425488