シェルワンライナー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文字ずつ戻って変換される。