php偽協議に対する簡単な理解

1796 ワード

phpダミープロトコル
まずphp.iniの中のallwo_をクルクルfopenとallow_クルクルinclude設定はOnです
php://各入出力ストリームにアクセスする
  • php://input アクセス要求の元データのリードオンリーストリームは、POSTのデータ
    http://127.0.0.1/cmd.php?file=php://input
    
    [POST DATA]  phpinfo()?>
    
  • を取得することができる.
  • php://output 書き込みだけのデータストリームは、printとechoのように出力バッファ
  • に書き込むことができる.
  • php://filter メタカプセル化器は、データストリームが開いているときのフィルタフィルタリング応用
    php://filter/read=convert.base64-encode/resource=flag.php
    
    convert.base 64-encodeを設計するフィルタであり、flagp.phpはフィルタリングされるデータストリームであり、変換フィルタconvert.*文字列フィルタstring.*文字列を様々な変換(暗号化、変換サイズの書き込みなど)文法に使用する.
  • resource=フィルタリングするデータストリームを指定する
  • read=1つまたは複数のフィルタ名を設定して、コンジッタ
  • を分離する.
  • write=フィルタ名を1つ以上設定して、パイプラインで区切る
  • 任意のリード=またはwrite=プレフィックスでないフィルタリストは、状況に応じて読み取りまたは書き込みチェーン
  • に適用されます.
  • php://fd 指定されたファイル記述子に直接アクセスすることができます.例えば、php://fd/3ファイル記述子3
  • を引用しました.
  • php://memory和php://temp これはファイル包装器のようなデータの流れです.臨時データの読み書きができます.mは常にデータをメモリに保存します.tはメモリ量が予め定義された制限を達成した後(デフォルトの2 MB)に一時ファイルに保存します.一時ファイルの位置の決定とsys_ゲットするtemp_dir()の方式は一致しています.
    file://ローカルファイルシステムにアクセスする
    http://127.0.0.1/cmd.php?file=file://D:/soft/phpStudy/WWW/phpcode.txt