yukuro’s blog

ぽえむ日記

CyberRebeat CTF Writeup(と感想)

解いた問題は多くないけれど、書かないと確実に忘れるので書いておきます。
チームpineappleで出ました。

Rotation(Crypto)

www.dcode.fr

こちらのサイトにお世話になりました。

Calculation(Programming)

こんなコードを書きました

import socket
import time
import re

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('59.106.212.75', 8080))

for i in range(10000):
    print("counter is {0}".format(i))
    data = s.recv(256)
    time.sleep(1)
    print("data is {0}".format(data.decode()))
    data = data.decode()
    reg = r'^[0-9]'
    matchobj = re.match(reg,str(data))
    if not isinstance(matchobj,type(None)): 
        result = eval(str(data))
        result = str(result)
        result = result + '\n'
        print("result is {0}".format(result.encode()))
        s.send(result.encode())

Prime factor

import socket
import time
import re
import sympy

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('59.106.212.75', 8081))

for i in range(10000):
    #time.sleep(1)
    print("counter is {0}".format(i))
    data = s.recv(256)
    time.sleep(1)
    print("data is {0}".format(data.decode()))
    data = data.decode()
    #time.sleep(1)
    reg = r'^[0-9]'

    matchobj = re.match(reg,str(data))
    if not isinstance(matchobj,type(None)): 
        result = sympy.factorint(int(data))
        result = max(result)
        result = str(result)
        result = result + '\n'
        print("result is {0}".format(result.encode()))
        s.send(result.encode())

CyberRebeatScript (Recon)

github.com

のページを適当に見ていたら、delete FLAG という文字を発見したので中身を見たらflagだった。

Changehistory(Reacon)

github.com

このページのissueでThat commit hash is ~ でハッシュ値があるので、
それをhttps://github.com/ennach/ChangeHistory/commit/ + (ハッシュ値)につなげると、該当のflagが書いてある。

Alpha(Stegano)

問題の画像をStegsolveを使って解いた。
下のボタンをポチポチしてたらなんか解けた()
flagが出てくるのはAlpha plane 0の部分。

※他にも解いた問題はあるけれど、なんかやったらできたレベルなので...

感想

いままで、一人だけでCTFをやってきたのでチームの中で同じ仲間がいるというのは凄くモチベーションにつながった。
おかげで、思っていたよりも多く解けたと思う。
でもバイナリが...(精進します)