Replace with Grace

(web60, solved by 189)

Description: Regular expressions are pretty useful. Especially when you need to search and replace complex terms.

Service: https://replace-with-grace.ctf.internetwache.org/

URLにアクセスすると、文字列の置換ができるフォームが表示されます。下図のとおり、javascriptソースから、「Do the work!」ボタンをクリック時にajaxでphpを呼び出していることが分かります。


3


従って、文字列の置換にPHPのpreg_replace関数が使われていると思われます。PHPのpreg_replace関数は、第一引数にeオプションを指定すると、第二引数をPHPコードとして評価します。

http://blog.tokumaru.org/2013/05/phpMyAdmin3.5.8-script-injection-CVE-2013-3238.html


試しに下図のように、eオプションを指定するとphpinfo();の結果が表示されました。


no title


バッククォートで囲んでシェルコマンド`ls -al`を実行します。flag.phpが見つかりました。


1

下図のように、catコマンドでflag.phpの内容を表示すると、フラグが表示されました。

2


フラグは、

IW{R3Pl4c3_N0t_S4F3}

です。