もくもくあぽにっき

もくもく作業してもくもく日記を書く。たまに成果物出す(たぶん、きっと)

令和CTFやったよ WriteUp的なにか

すまんかった

全然解けぬ

競技前の話

平成最後 + 令和最初のネームバリューは大きすぎた。
サーバー重たすぎて10点問題解くのが最難関かと思った。

結果

f:id:ap0sec:20190501020803p:plain

2問+Welcome問題解いて210点ゴール

Forensic 100

渡されたpdf開いてみると令和おじさんが元号発表してるいらすとやの画像が表示された。
元号が書かれている場所にはQRコードらしきものがあったが、それをリアルタイム手話をする人に被せられて見えなくなってた。

foremost使って画像抽出を試みたけど、QRコードが見事に「令和型」に切り抜かれていて読めなかったので、試しに

PDFからすべての画像を抽出できる無料のオンラインツール

に突っ込んだところ令和の部分の画像も取れた(もっとかっこよく解きたい)

SECCON{overlay_overlap_overera}

Misc 100

Brainf**k問題

問題文にもWikipediaのリンクが貼ってあったのですごく良心的な問題だった

Brainfuck - Wikipedia

ファイルをダウンロードすると

令和和和和和和和和和和和和和和和和「令和
和和和和令和和和和令和和和和和和和令和和
和和和和令和和平平平平平成」令和和和。令
和和和和和。成成。。平成成成成。成。令令
和和和和和和和和和和和。令和和。平平平和
和和和。令和和。和和和和。令令和和和和和
和和和和和和和。平平平和和和和和和和和和
和和和和。成成成成成成成成。令成成成成成
成成成。令令。成成成成成。成成成成成成。
令和。平平和和。令令令和和和和和和和和和
和。

ふむふむ。
とりあえず「和」は「+」だろう。
「令和」が「令+」なら「平成」は「平-」だろ。

・・・って感じに適当に置換

>++++++++++++++++[>+
++++>++++>+++++++>++
++++>++<<<<<-]>+++.>
+++++.--..<----.-.>>
+++++++++++.>++.<<<+
+++.>++.++++.>>+++++
+++++++.<<<+++++++++
++++.--------.>-----
---.>>.-----.------.
>+.<<++.>>>+++++++++
+.

SECCON{bREIn_WAnic!}

Misc 100

もう一問のMisc、解けなかった

ncすると

[1/100]
0=23-?
?=

と出てくる。この等式を成立させる値を返せばいいのね。

import socket
import re
import sympy

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('さーばーのあどれす', ぽーと))

x = sympy.Symbol('x')

for i in range(100):
    receivedata = s.recv(1024).decode('utf-8')
    print(receivedata)
    sf = s.makefile()
    readline = sf.readline()
    print(readline)

    sprit = readline.split("=");
    res = sprit[1].replace('?','x')

    ans = sympy.solve(res)


    senddata = str(ans[0])
    s.sendall((senddata).encode("utf-8"))

1問目、2問目は解けてるし、まぁ問題ないやろ!
って放置しようと思ったら3問目で既に[Connection reset by peer]でコケた。

何が行けなかったんだろう・・・教えてクレメンス