SECCON 2014 オンライン予選(英語)write-up 【Get the key】

【Get the key】

nw100.pcapというファイルがDLできるのでWiresharkでみる

1234

見てると

http://133.242.224.21:6809/nw100/

にbasic認証してるのが分かるbasic認証は暗号化されてないただのbase64なので簡単

http://133.242.224.21:6809/nw100/ にアクセスして
ID:seccon2014
PASS:YourBattleField
でログインすると

1

こんな画面が出てくるのでkey.htmlをクリックすると

キャプチャ

SECCON{Basic_NW_Challenge_Done!} と表示される

答え

SECCON{Basic_NW_Challenge_Done!}

一覧はこちら

SECCON 2014 オンライン予選(英語)write-up 【Choose the number】

【Choose the number】

1234

nc number.quals.seccon.jp 31337

と打つと

ランダムな整数値が複数個表示されそれの中で一番でかいOR小さい数字が聞かれるので打つ
時間が経つとタイムアウトになる

実際に打った結果がこちら(手動)

[sekki@home ~]$ nc number.quals.seccon.jp 31337
7, 6
The minimum number? 6
-5, -1, 0
The minimum number? -5
-3, -6, -2, -4
The minimum number? -6
7, 6, 0, 1, 5
The maximum number? 7
4, -2, -1, 7, 0, 0
The minimum number? -2
-8, -4, 9, 7, -4, 1, 0
The minimum number?
Timeout, bye.

ソース無くしたのでやり方だけ…
今回もjavaで書きました
number.quals.seccon.jpの31337に接続
一行目にカンマ区切りで数字が送られて来るのでsplit関数で分割しArrayListに突っ込む
2行目でminimum か maximumを確認する

Collections.sortでソートする
小さかったら一番下
大きかったら一番上の配列を取ってきて返す

終わり

糞みたいなコードでした

rubyとかpython使ってる人は数十行くらいで書けるんですね
自分は糞長いコード書きました(∀`*ゞ)テヘッ

動けばいいんですよ、動けば

一覧はこちら

SECCON 2014 オンライン予選(英語)write-up 【Get the key.txt】

【Get the key.txt】
2パターン有り

forensic100.zipを解凍しバイナリエディタで中身を見ると
SECCON{ なんとかー } ってフラグが何個か出てくるので手当たり次第に打っていく
123

456

答え

SECCON{@]NL7n+-s75FrET]vU=7Z}

終了後write up 見るとforensic100ってファイルシステムらしい
多分こっちの解き方が正しい方法だと思うSECCON2014(qual)のWriteup 少しだけ – 立ち止まって、ゆったりな談義 by Jebra 

forensic100.zipを解凍
ファイルの種類を確認

file forensic100
forensic100: Linux rev 1.0 ext2 filesystem data

マウント用のフォルダ作成

mkdir FS_hoge

マウントする

mount -t ext2 -o loop forensic100 ./FS_hoge

一覧を見る

ls FS_hoge/

【1】のファイルの種類を確認

file FS_hoge/1
FS_hoge/1: gzip compressed data, was "key.txt", from Unix, last modified: Wed Oct  1 15:00:52 2014

gzipらしいのでリネームしてコピー

cp FS_hoge/1 ./hoge.gz

展開

gzip -d hoge.gz

中身を見る

cat hoge
SECCON{@]NL7n+-s75FrET]vU=7Z}

答え

SECCON{@]NL7n+-s75FrET]vU=7Z}

一覧はこちら

SECCON 2014 オンライン予選(英語)write-up 【REA-JUU WATCH】

【REA-JUU WATCH】

新規登録し、一番最初のありがとうございましたまで解くと
http://reajuu.pwn.seccon.jp/users/chk/14903 から
{“username”:”qnx0c6jj”,”password”:”zagw4xn0″,”point”:350} こんなデータが帰ってくる
スクリーンショット 2014-12-09 17.07.40

http://reajuu.pwn.seccon.jp/users/chk/【ユーザーID】

ユーザーIDの部分を1に変更しアクセスすると
URL:http://reajuu.pwn.seccon.jp/users/chk/1
レスポンス:{“username”:”rea-juu”,”password”:”way_t0_f1ag”,”point”:99999}

が帰ってくるので、最初の画面に戻りこのIDでログインし、最後まで問題をとくと、お疲れ様でしたの画面にフラグが表示される
スクリーンショット 2014-12-09 17.13.23

答え

SECCON{SECCON{REA_JUU_Ji8A_NYAN}

一覧はこちら

SECCON 2014 オンライン予選(英語)write-up 【Easy Cipher】

【Easy Cipher】

スクリーンショット 2014-12-09 16.52.50

87 101 108 1100011 0157 6d 0145 040 116 0157 100000 0164 104 1100101 32 0123 69 67 0103 1001111 1001110 040 062 060 49 064 100000 0157 110 6c 0151 1101110 101 040 0103 1010100 70 101110 0124 1101000 101 100000 1010011 1000101 67 0103 4f 4e 100000 105 1110011 040 116 1101000 0145 040 1100010 0151 103 103 0145 1110011 0164 100000 1101000 0141 99 6b 1100101 0162 32 0143 111 1101110 1110100 101 0163 0164 040 0151 0156 040 74 0141 1110000 1100001 0156 056 4f 0157 0160 115 44 040 0171 1101111 117 100000 1110111 0141 0156 1110100 32 0164 6f 32 6b 1101110 1101111 1110111 100000 0164 1101000 0145 040 0146 6c 97 1100111 2c 100000 0144 111 110 100111 116 100000 1111001 6f 117 63 0110 1100101 0162 0145 100000 1111001 111 117 100000 97 114 0145 46 1010011 0105 0103 67 79 1001110 123 87 110011 110001 67 110000 1001101 32 55 060 100000 110111 0110 110011 32 53 51 0103 0103 060 0116 040 5a 0117 73 0101 7d 1001000 0141 1110110 1100101 100000 102 0165 0156 33 

この様な文字列が渡されるので
2進数、8進数、10進数、16進数で記述された数字の列が渡されるのでコレを数字に直しchar型に直せば文字が出てくる

	public static void main(String[] args) {
		String text = "87 101 108 1100011 0157 6d 0145 040 116 0157 1000000 0164 104 1100101 32 0123 69 67 0103 1001111 1001110 040 062 060 49 064 100000 0157 110 6c 0151 1101110 101 040 0103 1010100 70 101110 0124 1101000 101 100000 1010011 1000101 67 0103 4f 4e 100000 105 1110011 040 116 1101000 0145 040 1100010 0151 103 103 0145 1110011 0164 100000 1101000 0141 99 6b 1100101 0162 32 0143 111 1101110 1110100 101 0163 0164 040 0151 0156 040 74 0141 1110000 1100001 0156 056 4f 0157 0160 115 44 040 0171 1101111 117 100000 1110111 0141 0156 1110100 32 0164 6f 32 6b 1101110 1101111 1110111 100000 0164 1101000 0145 040 0146 6c 97 1100111 2c 100000 0144 111 110 100111 116 100000 1111001 6f 117 63 0110 1100101 0162 0145 100000 1111001 111 117 100000 97 114 0145 46 1010011 0105 0103 67 79 1001110 123 87 110011 110001 67 110000 1001101 32 55 060 100000 110111 0110 110011 32 53 51 0103 0103 060 0116 040 5a 0117 73 0101 7d 1001000 0141 1110110 1100101 100000 102 0165 0156 33";
		String[] textArray = text.split(" ");

		int i = 0;

		for (String str : textArray) {

			if (str.length() <= 2) {
				try {
					i = Integer.parseInt(str, 10);
				} catch (Exception e) {
					i = Integer.parseInt(str, 16);
				}
			}else if (str.length() <= 3) {
				if (str.startsWith("0")) {
					i = Integer.parseInt(str, 8);
				}else {
					i = Integer.parseInt(str, 10);
				}
			}else if (str.length() <= 5) {
				i = Integer.parseInt(str, 8);
			}else if (str.length() <= 7) {
				i = Integer.parseInt(str, 2);
			}


			System.out.print((char)i);
		}

	}

実行すると

Welcome to@the SECCON 2014 online CTF.The SECCON is the biggest hacker contest in Japan.Oops, you want to know the flag, don't you?Here you are.SECCON{W31C0M 70 7H3 53CC0N ZOIA}Have fun!

変換が間違ってされ@ とか出てるけど、気にしない、ソースが汚くても気にしない
とりあえず、動けば…

答え

SECCON{W31C0M 70 7H3 53CC0N ZOIA}

一覧はこちら

SECCON 2014 オンライン予選(英語)write-up 解答一覧

ほ・・・ほら、おいらって形から入るタイプやん?
って事で、先に記事だけ書いた

ぼちぼち書き足します…
★が付いてる物は解けた問題
ついてないのはwrite up見ながら説いた問題

とりあえず、自分が解いた問題は全部書いた
解けなかった問題は勉強がてら暇つぶしに解いて上げます

★Welcome to SECCON
★Easy Cipher
Decrypt it (Easy)
Decrypt it (Hard)
Ms.Fortune? Misfortune. : 4096-bit RSA
Shuffle
Reverse it
Let’s disassemble
Advanced RISC Machine
ROP: Impossible
Holy shellcode
Japanese super micro-controller
jspuzzle
★REA-JUU WATCH
Bleeding “Heartbleed” Test Web
Binary Karuta
XSS Bonsai (aka. Hakoniwa XSS Reloaded)
QR (Easy)
SECCON Wars: The Flag Awakens
BBQR
★Get the key.txt
Read it
UnknownFS
Confused analyte
★Choose the number
The Golden Gate
★Get the key
Get from curious “FTP” server
version2