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

2016-04-05 18:46:09時点のリビジョン20

メッセージを消す
Shinkan2014/CTF

MMA

2014年MMA新入生歓迎会CTF(終了しました)

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

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

ルール

問題

KANJI?

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

imadahirosi

正解者
2人(quartorz, なにものでもない)

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

kanji.jpg

Object

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

nomeaning

正解者
5人(gentaro, anch0y, mo, DITA, キモト)

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

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

Punch

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

nomeaning

正解者
2人(mo, なにものでもない)

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

 _________________________________________________
/                                                |
|] ]] ]   ] ]  ]      ]                          |
| ]        ] ]]   ] ]]                           |
|      ] ]       ]                               |
|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_

正解者
2人(mo, なにものでもない)

Get the flag.

bf.png

Tatami

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

nomeaning

正解者
5人(gentaro, umashika, shin, なにものでもない, DITA), 3人(DITA, なにものでもない, shin), 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

正解者
3人(gentaro, anch0y, なにものでもない)

telnet.png

江夢絵 無影

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

ytoku

正解者
0人()

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

unskipk

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

ytoku

正解者
1人(anch0y)

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 = 111895820447848398833154164049604827293489536149098582911503536545786709920126490310648014595161362589852007375751605057086275433447515332995637611070227862690921976976903471086435444973906568373071049321771477223840797381651370286025243307357326025387711988561293916360504512168560206699040759690577943719467
   5 
   6 FLAG = "*CENSORED*"
   7 def commit(m):
   8     e = (1<<14) | random.getrandbits(14) # For compatibility, e must be in signed short :-(
   9     r = random.randrange(n)
  10     t = pow(m + r, e, n)
  11     c = (t, r, e)
  12     return c
  13 def open_commitment(m, c):
  14     (t, r, e) = c
  15     return pow(m + r, e, n) == t
  16 
  17 for i in range(2):
  18     print "%d, %d, %d" % commit(bytes_to_long(FLAG))

実行結果

   1 98855442035570258903182560550333160561120277371740735449521028516877754724801900324632437799773043740484615509134258762973570806142067172948684452521512919260852013254687425371750433912988526109028607756835484284640096355007465798844486528620714301048051591408896419691697463858819870838068910514599763227999, 76346658578205172199620597295192186675340280494498049873836332499382916758493810184939920185992288936343293747741483484603869354011619302755855935469557007140409746603003295314082376836338910850104341679244718519471588505465395901612495107598676619995955657426770455654845308752905216418717681977167492837020, 27877
   2 29470234052520553888750153336995149073925167580708824280649748083373538718062076186036195182031980369132661293884535538078345294951307317447109444005807982633585282177242307625244379892038083901972560085897620766641222812661369874578260760886336834177355552220868321804066909936978488965383247261239191091263, 67497987076884796159425417953912199922569574484935405993218223181103368354807107898349599310443950816164867372290177146568094410279310207322835688055482111471327922463439937590707511611891418259904783662541313101015378231638722951232518083550734178777908815403503062623051716668007015134781992593163651965389, 22740