RE:御网杯2024

MISC

信息安全大赛的通知

image-20250805095918489

flag字体颜色为白色

image-20250805095931887

编码转换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
编码1:++++++++[>>++>++++>++++++>++++++++>++++++++++>++++++++++++>++++++++++++++>++++++++++++++++>++++++++++++++++++>++++++++++++++++++++>++++++++++++++++++++++>++++++++++++++++++++++++>++++++++++++++++++++++++++>++++++++++++++++++++++++++++>++++++++++++++++++++++++++++++<<<<<<<<<<<<<<<<-]>>>>>>>++++++.>----.<-----.>-----.>-----.<<.+.<<<+++++++.------.>>>+.+.---.<<<.

编码2:([][(!![]+[])[!+[]+!+[]+!+[]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()+[])[!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[+!+[]]+[!+[]+!+[]+!+[]]+([][(!![]+[])[!+[]+!+[]+!+[]]+([][[]]+[])[+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]]()+[])[!+[]+!+[]]+[!+[]+!+[]+!+[]]+(![]+[])[+[]]+[!+[]+!+[]]+[+!+[]]

编码3:Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook. Ook? Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook!
Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook? Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook! Ook? Ook! Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook!
Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook?
Ook. Ook? Ook! Ook. Ook? Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook. Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook. Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook! Ook! Ook. Ook?
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook. Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook? Ook.

编码1:BrainFuck

https://wnkit.com/tool/brainfuck-ook-encrypt-decrypt

1
flag{ab71cda1

编码2:JSFuck

https://kamil-kielczewski.github.io/jsfuck/index.html

1
b495e13b3f21

编码3:Ook

https://wnkit.com/tool/brainfuck-ook-encrypt-decrypt

1
f6fd50221978}

coding_analyse

1
2
3
&#x39;&#x33;&#x36;&#x35;&#x34;&#x34;&#x61;&#x35;&#x35;&#x33;&#x31;&#x34;&#x61;&#x37;&#x65;&#x34;&#x33;&#x33;&#x39;&#x35;&#x34;&#x35;&#x66;&#x34;&#x37;&#x37;&#x37;&#x36;&#x61;&#x36;&#x65;&#x34;&#x31;&#x33;&#x31;&#x35;&#x61;&#x37;&#x64;&#x34;&#x31;&#x33;&#x32;&#x35;&#x37;&#x34;&#x33;&#x35;&#x37;&#x35;&#x36;&#x35;&#x35;&#x34;&#x35;&#x35;&#x62;&#x34;&#x34;&#x37;&#x38;&#x35;&#x31;&#x36;&#x61;&#x36;&#x35;&#x33;&#x37;&#x34;&#x31;&#x36;

谜底就是flag,希望大家享受解码的过程。

image-20250805102009179

1
936544a55314a7e4339545f47776a6e41315a7d41325743575655455b4478516a6537416

后面看wp知道拖动Reverse(逆序)后直接梭哈

image-20250805102748144

然后对hnci{JPEVHdu345680967709d5}进行凯撒(Caesar)解码

image-20250805103033624

bluetooth

image-20250805104142739

正则搜索flag

image-20250805104915687

发现存在压缩包

导出找压缩包的文件头和文件为

或者直接将流量包在winRAR中打开

image-20250805110516454

修复得到

image-20250805110541516

1
2
3
4
5
flag.txt
10004583275926070044326083910251708233320797779355779208703097816305188140191914132269450797

key
5216294695211820293806247029887026154798297270637676463374801674229881314620340407569315152

将10进制转16进制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def dec_to_hex(number):
# 使用内置函数hex进行转换,但hex会返回以'0x'开头的字符串
# 使用切片操作去除'0x'
hex_str = hex(number)[2:]
# 如果转换后的字符串长度是1(即小于16),为了符合常规表示习惯,我们在前面添加一个'0'
if len(hex_str) == 1:
hex_str = '0' + hex_str
return hex_str


# 示例
if __name__ == "__main__":
# 从用户获取输入
number = int(input("请输入一个非负整数: "))
# 转换并输出结果
hex_representation = dec_to_hex(number)
print(f"{number}的16进制表示为: {hex_representation}")
1
2
3
4
5
密文
4e94dcdb6de87e65d263419ec45aec93e8a2e1d386b31fb804e0f02366df44dbe86a8a7c462d

key
28f8bdbc16de4850e05579acf33c8aa08ac3d9e6e3822b8c3081c04700eb25b88a08eb457550

在进行异或即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 定义加密后的密文和密钥的十六进制字符串  
txt = "4e94dcdb6de87e65d263419ec45aec93e8a2e1d386b31fb804e0f02366df44dbe86a8a7c462d"
key = "28f8bdbc16de4850e05579acf33c8aa08ac3d9e6e3822b8c3081c04700eb25b88a08eb457550"

# 将十六进制字符串转换为字节对象
ciphertext_bytes = bytes.fromhex(txt)
key_bytes = bytes.fromhex(key)

# 使用逐字节异或进行解密
# 注意:这里假设密钥和密文长度相同,否则zip会截断到较短的长度
decrypted_bytes = bytes([c ^ k for c, k in zip(ciphertext_bytes, key_bytes)])

# 尝试将解密后的字节对象解码为字符串,忽略无法解码的字节
# 这里假设解密后的字节能够大部分解码为有效的UTF-8字符
print(decrypted_bytes.decode(errors="ignore"))

# 打印解密后的字符串(这行代码其实和上面的print是重复的,但保留以展示意图)
# print(decrypted_bytes.decode(errors="ignore"))