ログイン
編集不可のページディスカッション情報添付ファイル

2014-04-02 21:19:22時点のリビジョン3

メッセージを消す
Shinkan2014/CTF

MMA

2014年MMA新入生歓迎会CTF

CTF(Capture The Flag)はプログラミングやセキュリティなどのコンピュータ技術を競うコンテストです。主にクイズ形式のものと、サーバーに対して攻撃したり防御したりする攻防戦形式の2種類が存在します。

MMAでは2013年より積極的に各種CTFに参加しています。

ルール

問題

KANJI?

難易度
ジャンル
トリビア
出題者

imadahirosi

正解者
0人()

これはあるコマンドを表している。そのコマンドを答えよ。

kanji.jpg

Object

難易度
ジャンル
暗号 トリビア
出題者

nomeaning

正解者
0人()

次の暗号文を解読し、質問に答えよ。

Xibu't uif obnf pg uif bsu xpsl jo gspou pg Cvjmejoh Fbtu-3? Qmfbtf botxfs jo Kbqboftf.

Punch

難易度
ジャンル
トリビア
出題者

nomeaning

正解者
0人()

なんと書かれているでしょう。

 _________________________________________________
/                                                |
|] ]] ]   ] ]  ]      ]                          |
| ]        ] ]]   ] ]]                           |
|      ] ]       ]                               |
|11]111111111111111111]11111111111111111111111111|
|222222]22222222222222222222222222222222222222222|
|3]33333333]]3333]3333333333333333333333333333333|
|4444444444444]44444]]444444444444444444444444444|
|555555555]5555]555555555555555555555555555555555|
|]6666666]666]6666]666666666666666666666666666666|
|777]77777777777777777777777777777777777777777777|
|888888888888888888888888888888888888888888888888|
|99999]999999999999999999999999999999999999999999|
|________________________________________________|

Universe

難易度
ジャンル
トリビア
出題者

r_acacia_

正解者
0人()

Get the flag.

bf.png

Tatami

難易度
★(問1) ★★(問2, 問3)
ジャンル
数学 プログラミング
出題者

nomeaning

正解者
0人()

縦幅$ 3 $、横幅$ 2n $の長方形のマス目に、$ 1 \times 2$のタイルを重なり合うことなく、全てのマスを覆うように敷き詰めることを考える。

例えば$ 3 \times 2$のマス目の場合、次の3通りの敷き詰め方が存在する。

tiles.png

問1
$ 3 \times 6 $の長方形のマス目に$ 1 \times 2 $のタイルを敷き詰めるパターン数を求めよ。
問2
$ 3 \times 100 $の長方形のマス目に$ 1 \times 2 $のタイルを敷き詰めるパターン数を求めよ。パターン数は大きくなりすぎるので、$ 2^{64} $で割った余りを答えよ。
問3

$ 3 \times 2n $のマス目にタイルを敷き詰めるパターン数を$ f(n) $と表すことにする。このとき、$$ \sum_{i=1}^{10^{16}} f(i)^3 $$を求めよ。ただし、答えは大きくなりすぎるので、$ 2^{64} $で割った余りを答えよ。

TelnetサーバーのIPアドレスを答えよ。

難易度
★★
ジャンル
ネットワーク
出題者

imadahirosi

正解者
0人()

telnet.png

江夢絵 無影

難易度
★★
ジャンル
偵察
出題者

ytoku

正解者
0人()

江夢絵 無影氏は最近隠れて絵を書き始めたようだ。君の任務は彼の描いた絵を探し出すことである。検討を祈る。

unskipk

難易度
★★
ジャンル
バイナリ フォレンジック
出題者

ytoku

正解者
0人()

Get the flag.

0000040: 0000 b3b5 2504 b8dc 7212 d315 328b 153c  ....%...r...2..<
0000050: 3402 3415 6c15 7463 8a4b 73e3 3315 0280  4.4.l.tc.Ks.3...
0000060: 3827 3f1d 4473 d912 3605 0050 4b01 021e  8'?.Ds..6..PK...
0000070: 0314 0002 0008 0054 1582 44ec d1e9 4029  .......T..D...@)
0000080: 0000 0069 0000 0008 0018 0000 0000 0001  ...i............
0000090: 0000 00a4 8100 0000 0066 6c61 672e 7478  .........flag.tx
00000a0: 7455 5405 0003 8ffa 3a53 7578 0b00 0104  tUT.....:Sux....
00000b0: e803 0000 04e8 0300 0050 4b05 0600 0000  .........PK.....
00000c0: 0001 0001 004e 0000 006b 0000 0000 00    .....N...k.....

Leaky Commitment

難易度
★★★
ジャンル
暗号
出題者

ytoku

正解者
0人()

Get the flag.

   1 # -*- coding: utf-8 -*-
   2 from Crypto.Util.number import bytes_to_long
   3 import Crypto.Random.random as random
   4 n = 1118958204478483988331541640496048272934895361490985829115035365457867099201264903106480145951
   5 61362589852007375751605057086275433447515332995637611070227862690921976976903471086435444973906568
   6 37307104932177147722384079738165137028602524330735732602538771198856129391636050451216856020669904
   7 0759690577943719467
   8 
   9 FLAG = "*CENSORED*"
  10 def commit(m):
  11     e = (1<<14) | random.getrandbits(14) # For compatibility, e must be in signed short :-(
  12     r = random.randrange(n)
  13     t = pow(m + r, e, n)
  14     c = (t, r, e)
  15     return c
  16 def open_commitment(m, c):
  17     (t, r, e) = c
  18     return pow(m + r, e, n) == t
  19 
  20 for i in range(2):
  21     print "%d, %d, %d" % commit(bytes_to_long(FLAG))

実行結果

98855442035570258903182560550333160561120277371740735449521028516877754724801900324632437
79977304374048461550913425876297357080614206717294868445252151291926085201325468742537175
04339129885261090286077568354842846400963550074657988444865286207143010480515914088964196
91697463858819870838068910514599763227999, 7634665857820517219962059729519218667534028049
44980498738363324993829167584938101849399201859922889363432937477414834846038693540116193
02755855935469557007140409746603003295314082376836338910850104341679244718519471588505465
395901612495107598676619995955657426770455654845308752905216418717681977167492837020, 278
77
29470234052520553888750153336995149073925167580708824280649748083373538718062076186036195
18203198036913266129388453553807834529495130731744710944400580798263358528217724230762524
43798920380839019725600858976207666412228126613698745782607608863368341773555522208683218
04066909936978488965383247261239191091263, 6749798707688479615942541795391219992256957448
49354059932182231811033683548071078983495993104439508161648673722901771465680944102793102
07322835688055482111471327922463439937590707511611891418259904783662541313101015378231638
722951232518083550734178777908815403503062623051716668007015134781992593163651965389, 227
40