0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NITIC_CTFに参加した

Posted at

NITIC CTFに参加しました。
楽しかった!!
高専生が主催している大会とのことでした。すごいなあ...!!
初心者向けなので、取り組みやすくて助かりました、ありがとうございます!:baby:

覚書程度に書き留めます。

anim

flagファイルが、PKで始まっていたのでなんらかの圧縮ファイル。
復号化も一通り試したが、特に見えなかった。
flagファイルの中身が一部読め、pptxっぽい拡張子が見えた。
pngで添付画像があるようにも見えた。
なので、.pptxをつけると開けて、スライドショーにすると、最背面にいったflagが書かれた画像が浮かび上がってきた。
勝ち。

fortran

同じディレクトリ内に沢山ツールをインストールしまくったらできた。
ツールが少ない段階で、まずはfakeのflagがでてきた。
これは、デバッガを使ってみていた時に確かに、複数回書き込みを行っている挙動があったので、合点がいった。
exeを実行しようとしたときに、ツールが足りないと怒られたので、順次入れていって、cat コマンドで中身を見たら、flagが書き換わっていた。
勝ち。

web

ダウンロードしたテキストファイルの中身をペタッとブラウザに張り付けると、flagが書かれた画像が出てくる。
参考

recon

dangerous Twitter
色々単語検索をかけたが、パスワードらしきものは見つからず。
ひたすらこの方のアカウントを遡り、この方への理解を深めていったが、ダメだった。
PCではTwitterにログインしていないので、メディア一覧が見れない。
もしやと思い、普段Twitterに使用しているタブレットから、メディアを漁ろうとすると、、一枚目にありました。
これはゲームかな:smile:

PPC

与えられた整数を素因数分解して、それをa1^t1a2^t2a3^t3...としていく。
これを指定されたflagの形式にすると、flagになる。
素因数分解のコードを書きます、と解説にあったが、素因数分解ソフトを提供するwebページを使いました(小声)

ここから先、友人の力を借りて検証したものです!

Crypt

これは、平文のflagが書かれたファイルと、暗号文を生成するpythonファイルが添付されていた。
このファイルにflagの平文を渡し、再帰で暗号化のための関数を呼び出していたので、そのためのfor文が十分回るように今回の場合は適当な長さの配列を用意した。
すると、シフト演算によって暗号化が複数回行われ、複数回目にflagが現れた。

解説をよんでいると、生成されたflagの一文字目が今回のflagの文字になるまで再帰する、という処理をしていて、適当な長さに到達するまで回す方法として、覚えておこうと思った。

Misc

拡張子がbatの、Windows用処理スクリプトが書かれたバッチファイルと、拡張子がshのUNIX系での処理スクリプトが書かれたシェルファイルが複数ありました。

set STR=%STR:()=h%

この手の代入文が複数行書いてあって、a=b,c=aという感じの代入文が見つかりました。
左辺と右辺が同じものをつなげていくと、複数ファイルがすべて一列に繋がりました。
繋がっている順番に複数ファイルの中身を書いて、一気に実行すると、元の暗号文に置き換えが効いて、flagが出てきました。
setコマンド参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?