呜呜呜赛后我和队友才出俩flag,可惜了这201名。就差亿点点就进线下了QwQ
2020网鼎杯签到记
MISC
签到
Description
Weclome~!
Analyze
登上环境,答题,各个战队的图标,答完题后console或抓包即可得到flag。
Solve
flag
flag{daa5e194d9cbf58833ff3f7a76caa36f}
虚幻2
Description
18年虚幻被打的很惨,2年后虚幻卷土重来。
1. 汉信码 2. 图片要转转 3. 暴力修补
Analyze
开始是一个file文件,看头易得是png
然后stegsolve后分离RGB三个轨道的值,再旋转下得到
然后经过许久的尝试(包括excel手撸等等操作后)得到思路为逐列提取,于是脚本一把梭,得到图片
from PIL import Image
# import itertools
p = ['G','B','R']
# p1 = Image.open('file.png')
R_pixels = []
G_pixels = []
B_pixels = []
for i in range(3):
if i == 0:
p1 = Image.open(p[i]+'.png').convert('L')
a,b = p1.size
for x in range(a):
if x < 1:
continue
pixel = []
for y in range(b):
if y < 2 or y > 33:
continue
pp = p1.getpixel((x,y))
pixel.append(pp)
else:
G_pixels.append(pixel)
elif i == 1:
p1 = Image.open(p[i] + '.png').convert('L')
a, b = p1.size
for x in range(a):
if x < 1 or x > 10:
continue
pixel = []
for y in range(b):
if y < 2 or y > 33:
continue
pp = p1.getpixel((x, y))
pixel.append(pp)
else:
B_pixels.append(pixel)
else:
p1 = Image.open(p[i] + '.png').convert('L')
a, b = p1.size
for x in range(a):
if x < 2:
continue
pixel = []
for y in range(b):
if y < 2 or y > 33:
continue
pp = p1.getpixel((x, y))
pixel.append(pp)
else:
R_pixels.append(pixel)
b = Image.new('L',(10,10),255)
w = Image.new('L',(10,10),0)
n_p = Image.new('L',(310,310),0)
for i in range(11):
if i != 10:
for j in range(len(G_pixels[i])):
if G_pixels[i][j] == 0:
n_p.paste(w,(i*30,j*10))
elif G_pixels[i][j] == 255:
n_p.paste(b,(i*30,j*10))
for j in range(len(B_pixels[i])):
if B_pixels[i][j] == 0:
n_p.paste(w,(i*30+10,j*10))
elif B_pixels[i][j] == 255:
n_p.paste(b,(i*30+10,j*10))
for j in range(len(R_pixels[i])):
if R_pixels[i][j] == 0:
n_p.paste(w,(i*30+20,j*10))
elif R_pixels[i][j] == 255:
n_p.paste(b,(i*30+20,j*10))
else:
for j in range(len(G_pixels[i])):
if G_pixels[i][j] == 0:
n_p.paste(w,(i*30,j*10))
elif G_pixels[i][j] == 255:
n_p.paste(b,(i*30,j*10))
n_p.save('res.png')
然后旋转左下定位点再镜像得到
然后这步操作比赛结束了想到了。。。。就是随机放个色块然后马赛克,强行误码让他自修复。得到
flag
flag{eed70c7d-e530-49ba-ad45-80fdb7872e0a}
Crypto
boom
Description
Boom there have a game.
Analyze
易得,答题解答就行
1.
en5oy
2.
3.
得到flag
flag
flag{en5oy_746831_89127561}
you raise me up
Description
you raise me up.
Analyze
sage离散对数求解算e
m = 391190709124527428959489662565274039318305952172936859403855079581402770986890308469084735451207885386318986881041563704825943945069343345307381099559075
c = 6665851394203214245856789450723658632520816791621796775909766895233000234023642878786025644953797995373211308485605397024123180085924117610802485972584499
n = 2 ** 512
m = Mod(m,n)
c = Mod(c,n)
discrete_log(c,m)
flag
flag{5f95ca93-1594-762d-ed0b-a9139692cb4a}