問題
解いてみた
- get_pass()関数をうまく呼び出して戻り値をgetしましょうという問題ですね。
- とりあえずソースを見てもいいんですが、どう考えてもURLがいつもと違います。
- dXduc3kgNDg7って何でしょう?後ろに=あれば大体base64と思ってもいいんですが、これにはありません。
- でもbase64の最後に=がない場合もあるので、一応やっておきましょう。
- CyberChef https://gchq.github.io/CyberChef/ 使います。
- よくわかりませんが、半分くらいあってそう。最初はこれで複合しておいて、さらになんか複合が必要そうです。
- 48って何?
- 47に変更してbase64してみるか。
- で、これをURLのパラメータに変えて、アクセスしてみる。
- おー。
- 48は問題番号だったのか。まったく気づかなかった。
- ということはget_pass()を呼び出す処理を書いて、それをbase64したらいいっぽい。
- 48を47にして47と素直に表示してもらいたいところですが、何か入力チェックはしているということでしょう。
- その前に「uwnsy 48;」の「uwnsy」ってなんでしょう。
- PHPの文字表示方法と言えばechoかprint。文字数的にprintですかね。
- よく見るとprintをそれぞれ5文字ずらすとuwnsyということに気づいた。48はそのままだったから英字のみずらすのか?
- では「print get_pass();」をそれぞれ5文字ずらすと「uwnsy ljy_ufxx();」です。
- これをさらにbase64します。「dXduc3kgbGp5X3VmeHgoKTs=」です。
- 答えは5e7B4AD96Bです。