[日本語] [English]

The Count

TCPサーバの接続情報が与えられた。
Tera Termで接続してみると、以下の出力がされた。

DEADFACE gatekeeper: Let us see how good your programming skills are.
If a = 1, b = 2, c = 3, etc.. Tell me what the sum of this word is:

 You have 5 seconds to give me an answer.

Your word is: save

制限時間が短く、手動では難しそうなので、プログラムを書くことにした。
aからzまでのアルファベットがそれぞれ順に1から26までの数値に対応すると仮定した上で、 「Your word」に使われている文字に対応する数値の合計を送信するプログラムを書き、実行したが、 以下がランダムに数行出力されて接続が切れるばかりだった。

1から26の数値に対応するのではなく1から3を繰り返すと仮定したり、 数値の足し算ではなく文字列の結合をしたりを試してみたが、結果は同様であった。

しばらくすると、サーバの最初の出力が以下のように変わった。

DEADFACE gatekeeper: Let us see how good your programming skills are.
If a = 0, b = 1, c = 2, etc.. Tell me what the sum of this word is:

 You have 5 seconds to give me an answer.

Your word is: cakes

aからzのアルファベットがそれぞれ順に0から25の数値に対応すると仮定するように修正した以下のプログラムを実行すると、flagが得られた。

solve.pl

flag{d1c037808d23acd0dc0e3b897f344571ddce4b294e742b434888b3d9f69d9944}

writeup by MikeCAT

DEADFACE CTF