SECCON令和CTFへ参加したなり。なんとか2問(1問サービス問題)解けて423位/858。まずまずかなー。
解けた1問の解き方。
■問題
nc zerois-o-reiwa.seccon.jp 23615
■答え
pythonで実装。他の人のwrite upみたらもっとスマートなのたくさんねー。
#mkfifo testfifo
#cat testfifo | nc zerois-o-reiwa.seccon.jp 23615 | python test.py > testfifo
import re
import sys
while True:
try:
x = input()
except EOFError as e:
break
sys.stderr.write("{}\n".format(x))
if x[0:2] == "0=":
m = re.findall("([+-]?[*?/0-9]+)", x[2:])
z = 0
#print(m)
for x in m:
#print("x={}".format(x))
if x.find("?") >=0:
y = eval(x.replace("?", "1"))
#print("y={}".format(y))
else:
z += eval(x)
#print("z={}".format(z))
if float(y)==0:
ans = "0"
else:
ans = "{}\n".format(int(-float(z)/float(y)))
sys.stderr.write("{}\n".format(ans))
sys.stdout.write("{}\n".format(ans))
[0回]
PR