ラッパー

  • 投稿日:
  • by
  • カテゴリ:
こちらの記事を読んで。

ブラックリスト型(サニタイズ型)のセキュリティ対策クイズ 解答編 | yohgaki's blog

レベル1の回答例が

..././etc..././passwd
と書かれていますが、

..//etc/paswd
でいけます。

レベル2の回答を説明するところから圧縮ラッパーの解説になりますが、
元のプログラムではピリオドを1個しか使用できないため、パス中にピリオドが含まれると
アクセスできません。

次のように

$ echo "TEST" > /tmp/test
$ gzip /tmp/test
$ mv /tmp/test.gz /tmp/test
$ php -r "echo readfile('compress.zlib:///tmp/test');"
TEST
5
圧縮ファイルが拡張子なしで存在し、絶対パスで指定できるケースでないと
内容を取得することは難しいです。

それでも、この圧縮ラッパーやその他のラッパーの存在を説明している点は
とても勉強になりました。