ブラックリスト型(サニタイズ型)のセキュリティ対策クイズ 解答編 | 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
内容を取得することは難しいです。
それでも、この圧縮ラッパーやその他のラッパーの存在を説明している点は
とても勉強になりました。