补充:4/10 组会两道MISC题目详解

补充:4/10 组会两道MISC题目详解

Falcon

2025-04-17 发布30 浏览 · 0 点赞 · 0 收藏

2024领航杯题目veee

image.png
首先看到有个vera文件,此文件必须使用veracrypt工具去挂载:
image.png
显示需要密码,我们再去另一个文件中寻找答案:
image.png
简单分析得到,这是若干身份证号码,通过脚本可解密:
image.png
解密得到的字符并非最终密码,再需要进行Hex->str才能得到密码
image.png
此时我们才能成功挂载:
image.png
image.png
image.png

此处仍然不是正确的flag,还需要一个工具显示出隐藏的内容:

image.png
到这里我们才能得到正确的flag为:f6255c56-3197-4da2-9119-b41b75bbfe

攻防世界流量分析1

先用一般方式搜索flag:
Ctrl+F 调出wireshark的搜索框,搜索flag:
image.png
任选一条追踪TCP流(有些流量包没有HTTP流):
image.png
复制选中内容,进行URL解码:
image.png
看到了sql延时注入,延时时间为3秒

再来选择一条,追踪TCP流:
image.png
URL解码:
image.png
一次没出结果,那就再来一次:
image.png
接着试了几条,都看到了sleep(3)——延时3秒注入,由此可以推测成功的条件就是延时3秒
把过滤条件改为:http.time>=3
image.png
看到能够匹配的流量包数量还是比较少的,由此产生两种想法:
①手动解码:经过一条条URL解码后,得到若干ASCII值:
102,108,97,103,123,49,113,119,121,50,55,56,49,125
转化成字符得到:flag{1qwy2781}

②脚本解码:
脚本如下——
import re
with open("challenge.pcapng", "rb") as f:
contents = f.read()
res = re.compile(r'flag%2529%252C(\d+)%252C1%2529%2529%253D%2527(\d+)%2527%2529%252Csleep').findall(str(contents))
dic = {}
for a, b in res:
if a in dic:
if int(b) > dic[a]:
dic[a] = int(b)
else:
dic[a] = int(b)
flag = ""
for i in range(1,15):
flag += chr(dic[str(i)])
print(flag)

也能得到:flag{1qwy2781}

请前往 登录/注册 即可发表您的看法…