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

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

ksnctf #2 EasyCipher

問題

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

 

考えたこと

cipherと言う単語は、暗号という意味で直訳すると簡単な暗号という意味になる。なので、何か文章を表しているだろうなという予想はついた。4単語目にnが一文字だけ出てくるので、これは"I"か"a"という風に予想できる。これが"a"だったら、シーザー暗号という有名な暗号なのでまあそれかなあと思い、以下のページに投げてみたら読める文章になったので、そこの指示通りにしたら通った。

http://lazesoftware.com/tool/strgen/

 

ついでというかおまけ

ROT13はPythonPHPに組み込みであるので、それを使えば簡単にコードとして実装できる。私は偶然、秘密の国のアリスという本でそれを読んだことがあったので簡単に解けた。何故シーザー暗号と呼ばれるかというと、昔ローマのカエサルジュリアス・シーザー)がこれを用いたからである。

https://www.amazon.co.jp/%E6%9A%97%E5%8F%B7%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88-%E7%A7%98%E5%AF%86%E3%81%AE%E5%9B%BD%E3%81%AE%E3%82%A2%E3%83%AA%E3%82%B9-%E7%B5%90%E5%9F%8E-%E6%B5%A9-ebook/dp/B015643CPE/ref=sr_1_1?ie=UTF8&qid=1487862197&sr=8-1&keywords=%E7%A7%98%E5%AF%86%E3%81%AE%E5%9B%BD%E3%81%AE%E3%82%A2%E3%83%AA%E3%82%B9

 

 

akictf #1 Capture the flag!

問題

http://ctf.katsudon.org/problem/1

考えたこと

最初だから一応単純に貼り付けをしてみたらさすがに違った。まあでも"=="っていうのがあるから、Base64かなとおおよそ予想はついたので、ターミナルで、

echo 'Q1RGCg==' | base64 -D

とデコードし、入力したら通った。

ついでというかおまけ

Base64の具体的な変換手順としては、

まず、元データを6ビットづつに分割する。もし6ビットに足りなければ、0を追加して6ビットにする。次に、各6ビットの値を変換表を使って4文字に変換していく。変換表は、wikipediaなどを参照していただきたい。このとき4文字に満たない場合は、イコールを追加して4文字にする。

といったものである。これによりイコールがあるとBase64かなあという予想を立てている。この技術は電子メールやBasic認証などに用いられている。

ksnctf #1 Test Problem

問題

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

 

考えたこと

This is a test problem. Submit the following flag and make sure that you can get points.

とあったので、その通り下に書いてあったフラグを貼りつけただけ。まあ最初なので考えたこともクソもないっちゃない。

 

ついでというかおまけ

ksnctfの方がakictfとかより簡単というか、ググったらヒントとかが多いので解きやすくて手がつけやすいイメージがある。