Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題89

問題89 CTF

問題のファイルは

https://github.com/shellgei/shellgei160

からダウンロードできる。

ファイルを解読する問題だった。練習問題の知識をうまくいかせず、中途半端に終わった。

解答例は

base64 -d ctf-data | gzip -dc > a;chmod +x a;./a | tr '#-z' '!-z'

である。まずcat した結果を見ると最後に==とあったのでbase64エンコードされているとあたりをつけてでコードしている。そのあとfileでデコードしたものを調べるとzipファイルだとわかるのでgzipで解凍して新しいファイルに出力する。新しいファイルをまたfileで調べると実行ファイルとわかるので実行権限を与えて実行するとシーザー暗号らしき文字列が出てくるのでtrで2文字ずつずらして解読する。trでは-で文字の範囲を指定している。!は#の2文字前なので、こうすることでCがEに、DがFにといった具合にアルファベットが2文字ずつ戻って変換される。