dacongのsecret
题目

我的解答:
题目给出一张png图片和一个加密压缩包,压缩包里面还存在另一张jpg图片

看名字就知道是盲水印。由于压缩包里的图片提不出来,因此是单图盲水印,我们使用工具得密码

d@C0ng 1s cUt3!!!
解压得到另一张图片,010分析一下得到一串字符

一眼丁真压缩包逆过来了,我们给他反转一下


提取出来后需要密码,接下来我们寻找密码。。。分析原本第一张图片发现有两个IDATx,删除第一部分保存。

然后爆破宽高(自己试着估计宽高就行,数据不唯一)得到密码


然后解压之前提取出来的压缩包里的文本得到

一眼base64隐写,B神工具直接梭

最后用jphs(参考:https://blog.csdn.net/qq_53079406/article/details/124578357)解出flag

得到
flag{d@C0ng_1s_r3@lIy_Re@iLY_Cute}
dacongのWindows
题目

我的解答:
一个取证题目,R-STUDIO恢复一下

发现一个flag3.txt,打开得到
U2FsdGVkX18M+E34cKJlmTU3uo1lHqjUQhKPTBGJiMjg4RWX6saTjOJmLU86538e
AES解码,但需要密码,我们需要找到密码。。
根据文件描述提示可知是注册表,利用vol输入指令:
python vol.py -f dacong.raw windows.registry.printkey得到一串字符
d@@Coong_LiiKEE_F0r3NsIc
猜测是AES密码,解码得到

这个一看就是flag最后一段,根据文件名flag3猜测还有flag1,flag2,我们继续分析取证出来的信息
我们看到还有一个压缩包

我们把压缩包恢复出来然后解压,但是解压出现问题

我们使用vol给整下来得到

很明显会发现是无密码的snow隐写,直接解码得到的二段flag:
_tHE_Dddd
还剩最后一段,继续找

txt文件提示

根据这个提示在加上dacong_like_listen里面好多wav文件,听着像sstv。但这么多的文件总不能一个个试着听吧。。。。
我们搜索一下上面txt文件里面提到的???music,搜索这个歌名发现一个可疑之处39,那么我们就找到第39个wav听一听


使用手机打开robot36得到第一段flag

flag{Ar3_Th3Y
拼接得到最终flag
flag{Ar3_Th3Y_tHE_DddddAc0Ng_SIst3Rs????}
Nahida
题目
hi.txt- 初次见面,我已经关注你很久了。我叫纳西妲,别看我像个孩子,我比任何一位大人都了解这个世界。所以,我可以用我的知识,换取你路上的见闻吗?
- wink!
复制代码
我的解答:
将第二个文件010分析,发现是逆着的jpg

右键导出16进制

然后得图片


我们根据hi.txt里的wink!翻译为:眨眼示意(和眼睛有关而且看图片小女孩在眨眼睛捏。。)
可知是silenteye解码,而密码猜测就是题目名字Nahida

d0g3{Nahida_is_the_best_in_the_world!}
疯狂的麦克斯
题目

我的解答:
把麦克斯的称号文件零宽隐写得到密码

解压嗨.zip,得到一个docx文件,改后缀为zip得到一个txt文件

末尾有

ROT13解码得到(随波逐流凯撒解码也可以,实际上是把零宽得到的密码换成整数就是偏移量。但随波逐流直接就出来了哈哈。)

既然末尾是凯撒偏移,那说明整个文本都偏移了。对列表同样使用ROT13解码

根据题目描述麦克斯MAX(最大值),只要找到列表中最大值就是压缩包密码,遍历得到456788P- import re
-
- def extract_numbers(s):
- # 使用正则表达式提取数字
- return [int(num) for num in re.findall(r'\d+', s)]
-
- def find_max_in_list(lst):
- max_val = -1 # 初始化一个很小的值
- for item in lst:
- numbers = extract_numbers(item)
- if numbers: # 如果在字符串中找到了数字
- max_val = max(max_val, max(numbers))
- return max_val
-
- lst = ['71132E', '328051N', '248199O', '96369v', '216076R'...]
- print(find_max_in_list(lst))
- '''
- 遍历数组中的每个字符串。
- 使用正则表达式或其他方法提取每个字符串中的数字部分。
- 将提取的数字转换为整数或浮点数。
- 比较这些数字并找出最大值。
- '''
复制代码
根据麦克斯的称号文件里面信息:
都看到这里了!
最后的密码是 某个值的base64+麦克斯的称号 哦
得到密码需要base64加密一下

解压得到
D0g3{Th1s_REA11Y_MAX_F1A4_GGB0ND}
或者使用脚本对列表base64加密(推荐此方法!)- import base64
- lst = ['71132E', '328051N', '248199O'... ]
- # base64加密函数
- def encrypt_string(string):
- encoded_bytes = base64.b64encode(string.encode('utf-8'))
- return encoded_bytes.decode('utf-8')
- # 打开自定义文件
- with open('output.txt', 'w') as file:
- # 遍历列表中的每一个值
- for value in lst:
- # 加密信息并写入文件
- encrypted_value = encrypt_string(value)
- file.write(encrypted_value + '\n')
复制代码 得到

然后字典爆破密码,一样可以得到密码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |