【3846CTF】Q2_amzn

なんだか腑に落ちない感じなのですが(完全に負け惜しみ)、Q2のWrite-upです

アクセスすると

X = hex('8'*256+'F');
Y is the Xth prime number.
Y * X * X * X = ZIP PASS.

zip path is ./amzn.zip

と出てきます

取り敢えずXをどうにかしたい感じです

パッと見た感じPerlっぽい書き方なので

my $X = hex('8'*256+'F');
print X

とやると
f:id:kkrnt:20140802004746j:plain

こんなのが出てくるので、Yもテキトーにググって84811と出てきます

これでpassを求めてみると、あれ、違う?

意味分からんので、取り敢えず使える言語全部に投げてみます

するとProcessingで

String X = hex('8'*256+'F');
print(X);

とやると
f:id:kkrnt:20140802005122j:plain

というわけでXは3846だと求まり、Yは36241になります

桁が大きくなりそうなのでRubyで書くと

x = 3846
y = 36241
print y*x*x*x

で、zipのパスワードが求められます
f:id:kkrnt:20140802005426j:plain

zipを解凍してみると、こんなテキストファイルが出てきます
f:id:kkrnt:20140802005540j:plain

まさかBase64じゃないだろうと思って色々とググってみます

するとpdbとかresxとかヒットするんですが、resxのフォーマットを見てみるとBase64エンコードしてるっぽいことが分かります

結局Base64かよ、と思いながらデコードすると、以下のようなファイルになります
f:id:kkrnt:20140802005833j:plain

fileコマンドを使うまでもなくbmpだと分かります


<以下はfms_catのWrite-upを参考にしています>

拡張子bmpに変更し、開いてみると
f:id:kkrnt:20140802005952j:plain

こんなのが出てくるのですが、本来のamazonのアイコンと比べてみると色が反転しています

なので、元の色に戻してみます
f:id:kkrnt:20140802010154j:plain

よく見てみると右上になんか変な色があります
この部分だけ切り出してbmpで保存してみます
f:id:kkrnt:20140802010354j:plain

で、これをメモ帳等で開くと
f:id:kkrnt:20140802010529j:plain

というわけで、これがフラグでした

MADX-ZJFATF-BM2E


なんか通常のCTFっぽくない感が否めないですが、FMSらしいのでイイんじゃないかと…

3846先輩には#fmsctfを楽しみにしていただきたいです(^_^;)