Securinets CTF Quals 2016 Writeup

この大会は2016/3/27 5:00(JST)~2016/3/28 5:00(JST)に開催されました。
今回も個人で参戦。結果は974点で32位でした。
参加チームは180チームいたので、まあまあの順位でした。
解けた問題をWriteupとして書いておきます。

Three in one (Stegano 400)

StegSolveでポチポチ進める。
Red Plane 0, Green Plane 0, Blue Plane 0の
それぞれに隠された画像が表示される。
f:id:satou-y:20160328220623p:plain
f:id:satou-y:20160328220631p:plain
f:id:satou-y:20160328220643p:plain

文をつなげると、This Technique Allows To Hide Three Secret Images Into A Single Image Without Increasing Its Size. The Flag Is The Concatenation Of The First Letter Of Each Word Of The Three Images.
つまりこのつなげた文章の単語の頭文字がフラグということになる。

TTATHTSIIASIWIISTFITCOTFLOEWOTTI

Thumb (Stegano 250)

JpegAnalyzerでサムネイルを抽出すると、フラグが書かれていた。
f:id:satou-y:20160328221029j:plain

ANEMPIREFORME

Hidden1 (Hidden 100)

Hintに「You should open firefox not schrome」と書かれていたので、
FireFoxでこのページをいろいろ探してみる。
右クリックで「ページの情報を表示」を選択し、セキュリティタブの認証局のところを見ると、フラグが記載されている。
f:id:satou-y:20160328221406p:plain

N0_y0u_533_M3_N0w

Start (Misc 99)

指定のURLにアクセスすると、404 Not Foundとなるが、ソースを見るとコメントにフラグが書かれていた。

Th15_15_A_FlA6_D0_Y0u_Kn0w_H0w_u_U53_1T_3L53_C0nTaCt_U5_iF_Y0u_CaN_R3aD_Th15_xD

Logic1 (Logic 25)

f:id:satou-y:20160328222324p:plain
3×4の表に数字が入っているが右下隅だけ「?」となっていて、入っている数字から何が入るか答える問題。2列目については、2行目は1行目の3倍、3行目は2行目の4倍、4行目は3行目の5倍となっている。このことが1列目には当てはまらないが、3列目には適用できそうなので、それで答えてみたら通った。

720

Together we are nothing(Crypto 100)

Hintに記載しているKey:DEADBEEFを使って復号する問題。
このKEYとXORしてみると、フラグが表示された。

with open('together_we_are_nothing.txt', 'rb') as f:
    data = f.read()

key = [0xde, 0xad, 0xbe, 0xef]

dec = ''
for i in range(len(data)):
    code = ord(data[i:i+1]) ^ key[i % 4]
    dec += chr(code)

print dec
__S3cUr1N3T5cLu|3__