にゃーんとか言ったことなし

コンテンツは特にないです。

ksnctf #36 Are you ESPer?

問題

http://ksnctf.sweetduet.info/problem/36

 

考えたこと

リンク踏んだらぶっ壊れたファイルみたいなのでてきたけど、よくみたら一番最初にELF(Executable and Linking Format)とか書いてあったから、これは実行ファイルであるとわかる。とりあえずダウンロードしてncコマンド殴ると、数字をあてるゲームが始まる。乱数かなっておもって適当にコード書いて流し込んだら弾かれて???ってなった。困って別問題やってたときに、向こうのサーバーと時間差があることを知った。そこで、srandの初期化の時間を無効のサーバーに合わせてあげて、パイプラインで実行結果を流してあげたらフラグをとれた。

 

おまけというかついで

rand関数は、初期設定を行わない場合、常に同じランダムパターンを返すことになっていて、これでは乱数の意味をなさないので、srand関数を用いて初期化の時刻を自分で設定してやる。何気なくsrand(time(NULL));とか書いてたけど、改めてちゃんと理解した。