CpawCTF-Q18.[Forensic]leaf in forest
問題
ファイルが渡されるのでその中からflagを見つけたい
解き方
file形式が分からなかったので、fileコマンドを使って形式を確認した
そうするとtcpdump capture fileということが分かった。(全く分からん)
とりあえずwiresharkで開いてみる。しかし、開けない...。tcpdump capture fileなはずなんだけどなぁ..って思ったけどそりゃダメか?
ファイルの名前を変えて再びチャレンジ。
これもダメだった。どうしよう...万事休す。仕方ない中身を見てみよう...文字化けするかもだけど...てことでtxtファイルにして中身を見てみる。
って何だこりゃぁぁぁ!?lovelive!だらけやんけwww
オタクの末路かな?はぁ収穫なしか?って思ったけどよく見てみるとそうじゃない文字列がある!
ん?RRR?こういうのだけ取り出せないかな?sedコマンドを使うことで取り除こうと考える...ってsedコマンド使ってなさすぎて使い方忘れたぁぁってことでネットで調べながらやってみると....
は?ダメやんけ!!!何でや!?とりあえずエラー文を調べてみると
どうやら環境変数 "LC_ALL=C" をセットしないとダメらしい。どういう意味や?と思って調べてみてもよく分からない...。
書かれた通りにやってみるとflagぽいのをゲット!無事クリア!
後日談
うーん。でも何でこれをセットすれば大丈夫なのか分からん。
ってことで調べること一時間...。つ、ついにお目当の情報にたどりつくことができました!
sedは標準のlocaleを使って文字ごとに処理しているけど、今回渡されたファイルがバイナリファイルだからうまくいかなったらしい。だから別でlocaleを指定することによってsedが使えるようになったってことなんだね。こういう情報がブログに載ってるの大変ありがたい...いやまぁ最初から公式のドキュメントを覗けば解決出来たんだけどね。こういう時にググるだけで公式のドキュメントを見ないの自分のダメなとこだと思う。(誰も記事にしていなかったらどうするんだ)
分からないことが出来た時の対処方法を見直される問題でもありましたとさ。