“东华杯”2021年大学生网络安全邀请赛 暨第七届上海市大学生网络安全大赛线上赛MISC-Writeup

Posted 末 初

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了“东华杯”2021年大学生网络安全邀请赛 暨第七届上海市大学生网络安全大赛线上赛MISC-Writeup相关的知识,希望对你有一定的参考价值。


checkin

+AGYAbABhAGcAewBkAGgAYgBfADcAdABoAH0-

UTF-7编码

flag{dhb_7th}

project



test.exe附加了很多别的数据,运行之后发现生成了一个problem_bak.zip
解压problem_bak.zip得到一个邮件文件

复制出来Python简单处理或者直接使用在线站:https://the-x.cn/zh-cn/base64/

from base64 import *

with open('jpg_base64.txt', 'r') as f:
	lines = f.readlines()
	base64_data = ''
	with open('flag.jpg', 'wb') as f1:
		for line in lines:
			base64_data += line.strip()
		f1.write(b64decode(base64_data))


得到一张丑不拉几的图片,尝试了很多jpg隐写,最后发现是OurSecret隐写

但是没有密码,继续分析;在邮件里还有一些数据,一段Base64、一段Quoted-Printable编码


没有密码线索,都是文本,试一下零宽度字符隐写



两段话都隐写了密码

flag{f3a5dc36-ad43-d4fa-e75f-ef79e2e28ef3}

JumpJumpTiger



丢进ida64分析,main函数是个提示

大概就是个这么的意思,根据奇偶位分数据

在程序中还发现了大量字符串

iVB...开头的很明显是PNG图片的base64数据开头,/9j/...开头的很明显是JPG的base64数据开头;从0开始奇数位是PNG数据,偶数位是JPG数据

另外除了这部分base64数据之外,还发现了夹杂着0的base64数据

先把base64数据提取出来,数据太长了,不便复制,使用脚本来提取比较方便,Python简单处理即可

from base64 import *

start_opt = 0x2600
middle_opt = 0x10DF00
end_opt = 0x7D4660
png_data = ''
jpg_data = ''

with open('jump.exe', 'rb') as f:
	f.seek(start_opt)
	part1_base64 = f.read(middle_opt - start_opt).decode()
	for i in range(len(part1_base64)):
		if i % 2 == 0:
			jpg_data += part1_base64[i]
		else:
			png_data += part1_base64[i]

with open('flag.jpg', 'wb') as f1:
	f1.write(b64decode(jpg_data))

with open('flag.png', 'wb') as f2:
	f2.write(b64decode(png_data))

得到两张图,但是png的图片数据并不完整;猜测另一部分的png图片的base64数据即为之前参杂0的数据

继续使用Python简单处理

from base64 import *

start_opt = 0x2600
middle_opt = 0x10DF00
end_opt = 0x7D4660
png_data = ''

with open('jump.exe', 'rb') as f:
	f.seek(start_opt)
	part1_base64 = f.read(middle_opt - start_opt).decode()
	for i in range(len(part1_base64)):
		if i % 2 == 0:
			pass
		else:
			png_data += part1_base64[i]
	f.seek(middle_opt)
	part2_base64 = f.read(end_opt - middle_opt).decode()
	for i1 in range(len(part2_base64)):
		if i1 % 2 == 0:
			pass
		else:
			png_data += part2_base64[i1]

with open('flag.png', 'wb') as f2:
	f2.write(b64decode(png_data))


盲水印


看不清的话用stegsolve调整一下

flag{72f73bbe-9193-e59a-c593-1b1cb8f76714}

where_can_find_code


format("Translate the letter J into I");
dpeb{e58ca5e2-2c51-4eef-5f5e-33539364deoa}


wbstego隐写,无密码

得到云影密码

20810842042108421

Python简单处理转换即可

code = '20810842042108421'
code_list = code.split('0')
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
text = ''
for nums in code_list:
	plus_num = 0
	for n in nums:
		plus_num += int(n)
	text += alphabet[plus_num - 1]
print('[+]: {}'.format(text))
PS C:\\Users\\Administrator\\Downloads> python code.py
[+]: BINGO

接下来就是利用一条这条语句

Translate the letter J into I


flag{d58af5d2-2a51-4dde-5e5d-33539364cdbf}

以上是关于“东华杯”2021年大学生网络安全邀请赛 暨第七届上海市大学生网络安全大赛线上赛MISC-Writeup的主要内容,如果未能解决你的问题,请参考以下文章

“东华杯”2021年大学生网络安全邀请赛 暨第七届上海市大学生网络安全大赛线上赛MISC-Writeup

“东华杯”2021年大学生网络安全邀请赛 暨第七届上海市大学生网络安全大赛线上赛MISC-Writeup

2021年 第七届 互联网+大赛 报名详细流程 全国大学生互联网+大赛全国大学生创业网 (保姆级指南:如何同意对方邀请)

第七届 互联网+大赛 报名详细流程 全国大学生创业网 (保姆级指南:如何同意对方邀请)

科来杯”第七届山东省大学生 网络安全技能大赛

第七届山东省大学生网络安全技能大赛 file