TDUCTF 2015 参加

2015年8月30日 TDUCTF 2015 最終ランキング

本日、 TDUCTF 2015 に参加してきました!運営の皆様、ありがとうございました!

TDUCTF 2015 – connpass

個人戦で、結果は上の画像の通り 13 位でした。

まずは、出題された問題一覧です。

2015年8月30日 TDUCTF 2015 問題一覧

全部で 39 問ありますね。 4 時間なのにめっちゃありますねw

以下、淡々と解いた問題の writeup です。解いた順番ではなく(覚えていない)、問題一覧の順序です。

練習問題 (Example, 39 Points)

2015年8月30日 TDUCTF 2015 練習問題

見れば分かるあれです。

Flag: TDU{SAKURAInternet}

clock (Misc, 150 Points)

2015年8月30日 TDUCTF 2015 clock

下の Wikipedia のリンクの時計が写った写真がダウンロードできます。撮影日時が 2015/01/02 11:35 です。 JST で答えなきゃいけないっぽく、撮影場所がロンドンらしいのでプラス 9 時間の 20:35 が答えでしょう。

Shepherd Gate Clock – Wikipedia, the free encyclopedia

Flag: TDU{2015_01_02_20_35}

XSS me (Misc, 100 Points)

2015年8月30日 TDUCTF 2015 XSS me

そういえば、なぜかメニューバーからデベロッパーツールが出せるなーと思いました。そこに alert(1) と入れてアラートを出せばフラグが出ます。

Flag: TDU{Electron_CTF_Frontend_is_Cool_ya?}

ESPer (ESP, 10 Points)

2015年8月30日 TDUCTF 2015 ESPer

なんか最近はやっているらしいので、「友利奈緒」でしょう。

Flag: TDU{友利奈緒}

Lucky 7 (Network, 200 Points)

2015年8月30日 TDUCTF 2015 Lucky 7

接続すると、 Challenge! とかいう文字列に続いて、 12345678 != 77777777 のような文字列が出てきます。 Lucky 7 なので、最初は当たるまで待つ問題かと思ったのですが、そんなはずはなく。途中でパケットを見ろというヒントが出て分かりました。どうやら、不等号の左辺は 3-way handshake の最後の ack のシーケンス番号のようです。ということで、そこが 77777777 になるように、 3-way handshake をしてフラグゲットです。フラグは忘れましたが、解答に使ったプログラムを載せておきます。

# -*- coding: utf-8 -*-

import random

from scapy.all import *

def main():
	port = random.randint(50000, 60000)

	seq = 77777776
	ip = IP(dst = '172.16.13.5')
	tcp = TCP(sport = port, dport = 7777, flags = 'S', seq = seq)
	rev = sr1(ip/tcp)

	seq = seq + 1
	ack = rev.seq + 1
	tcp = TCP(sport = port, dport = 7777, flags = 'A', seq = seq, ack = ack)
	rev = sr1(ip/tcp)

if __name__ == '__main__':
	main()

TDUCTF運営からのフラグを盗め (Network, 400 Points)

2015年8月30日 TDUCTF 2015 TDUCTF運営からのフラグを盗め

この問題は途中までのポイントしか得ていません。メールのやりとりが含まれた pcap がダウンロードできます。なので、普通に中身を見ると、 flag.zip とかいう添付ファイルが 2 つあるので、それを解凍しようとしますが、パスワードがかかっています。 1 つ目のパスワードは、やりとりされているメールの中から分かりますが、 2 つ目がわかりません。 1 つ目と同じファイルが含まれてそうだったので、既知平文攻撃を試みましたが、なぜかダメでした。なお、 1 つ目が分かったところで途中ポイントです。

Flag: TDU{I_KNOW_CREAR_TEXT_IS_NOT_SECURE}

おわり? (Crypto, 100 Points)

2015年8月30日 TDUCTF 2015 おわり?

以下の画像が手に入ります。

2015年8月30日 TDUCTF 2015 おわり?の問題画像

僕はこれの解き方を知っていたので、途中の S 以外はすぐに分かりました。 S は B なのか L なのかと試したあとに分かりました。色を英語にして、その何文字目かって事ですね。例えば、 2 文字目は紫で purple で、それの 2 文字目なので U ですね。一応、フラグは書かないでおきますw

Lie (Web, 100 Points)

2015年8月30日 TDUCTF 2015 Lie

アクセスするとクッキーの画像が出てくるので、 Cookie にある isPro=False を True にすればフラグが出てきます。フラグは忘れました。

14:50 (Misc, 200 Points)

2015年8月30日 TDUCTF 2015 14:50

14 時 50 分に突然、さくらインターネットさんのプロモーション動画のようなものが流れてきたのですが、そこの動画中にフラグが表示されました。また、途中で YouTube のすかしが出てたので、あとで見るときのために URL を覚えておこうと思ってアクセスしたら、説明欄にもフラグがありました。

Flag: TDU{試される大地}
Flag: TDU{説明にもフラグが}

SQL Practice (Web, 300 Points)

2015年8月30日 TDUCTF 2015 SQL Practice

確か以下のスクリプトだったと思いますが、それで作られたデータベースがあるので、 SQL 書いてそこからフラグを見つけてくださいってことでした。 select * from tweets where text like ‘%TDU{%’ って感じでいけたと思います。フラグは忘れました。

自分のツイートをcsvからsqlite3なdbに引っ張ってくるスクリプト(汚い)

nullflood (Misc, 100 Points)

2015年8月30日 TDUCTF 2015 nullflood

めっちゃスパースなファイルが渡されるのですが、その 0 の所々におおよそ 1 文字ずつフラグが入っているので、 strings で取り出します。僕が試したときは、最低文字列長 -n 1 を指定しないと出てきませんでした。

Flag: TDU{Strings_is_useful}

以上です。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です