2023年“羊城杯”网络安全大赛WP

MISC

ai和nia的交响曲

导出http对象

image-20230904213328023

upload.php中导出flag1.png

至于怎么导,条条道路通罗马

我是直接cyber 导出

from hex

image-20230904213848402

然后删掉一点头和尾

image-20230904213954800

image-20230904214027050

得到这个

download

是黑白像素点

所以推测要写脚本提取像素RGB,分离出来的图片只有黑色和白色,所以要不黑色为1、白色为0或者白色1、黑色为1,测试了二次当白色为1、黑色为0时,可以提取新的信息。利用脚本将将黑白转伪01

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from PIL import Image  
png1 = Image.open("flag1.png")
a=[]
height = 400
width = 400
im = Image.new("RGB", (width, height))
for x in range(0, width):
for y in range(0, height):
r, g, b = png1.getpixel((x, y))
if r >= 150:a.append(1)
else:a.append(0)
print(a)
s1 = str(a).replace(',','')
s2 = s1.replace(' ','')
print(s2)

将输出的二进制转成十六进制ASCii码即可看到flag和hint

image-20230904221114207

但是还有一种解法

image-20230904214424832

1
HINT:BV1wW4y1R7Jv&&FLAG1:@i_n1a_l0v3S_

HINT: BV1wW4y1R7Jv

这是一个bv号

FLAG1: @i_n1a_l0v3S_

前半截能联想到B站视频号, 后半截是flag一部分。至此解完一半。

剩下一半针对zip展开, 经过尝试, 发现是伪加密, 全部把09改成08即可, 得到时间序列

1693833673879.jpg

image-20230904215551661

结合B站视频可知, 时间对应画面的内容对应的字母, 由此得出Flag下半部分。