mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
187 字
1 分钟
day1
2025-10-28

CTF+ 题目1 Sign_in#

标签: Misc 0xgame2025#

由题目发现信息: MGhRa3dve0dvdm0wd29fZDBfMGhRNHczXzJ5MjVfQHhuX3JAbXVfUHliX3BlWH0= 显然为Base64编码 解码后发现信息 0hQkwo{Govm0wo_d0_0hQ4w3_2y25_@xn_r@mu_Pyb_peX} 但是仍然不符合flag的格式,通过观察发现疑似凯撒密码 通过 “2y25” 猜测 应为 “2o25” 位移量为10 解得: 0xGame{Welc0me_t0_0xG4m3_2o25_@nd_h@ck_For_fuN} 获得flag

CTF+ 题目2 Vigenere#

标签 CRYPTO 0xgame2025#

附件提供python 代码

from string import digits, ascii_letters, punctuation
from secret import flag
key = "Welcome-2025-0xGame"
alphabet = digits + ascii_letters + punctuation
def vigenere_encrypt(plaintext, key):
ciphertext = ""
key_index = 0
for char in plaintext:
bias = alphabet.index(key[key_index])
char_index = alphabet.index(char)
new_index = (char_index + bias) % len(alphabet)
ciphertext += alphabet[new_index]
key_index = (key_index + 1) % len(key)
return ciphertext
print(vigenere_encrypt(flag, key))
# WL"mKAaequ{q_aY$oz8`wBqLAF_{cku|eYAczt!pmoqAh+

发现为一段维吉尼亚密码的加密程序 其中flag库不存在 但是该维吉尼亚密码提供了密钥,且发现该维吉尼亚字母表与常规不一样存在数字和符号 故完整的字母表为

0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

所以根据维吉尼亚密码的公式:

Ci=Pi+Ki(modL)C_i = P_i + K_i (\mod L)


Pi=CiKi(modL)P_i = C_i - K_i (\mod L)


其中 L 为 字母表的长度

得到解密代码

from string import digits, ascii_letters, punctuation
key = "Welcome-2025-0xGame"
alphabet = digits + ascii_letters + punctuation
def vigenere_decrypt(ciphertext, key):
plaintext = ""
key_index = 0
for char in ciphertext:
if char in alphabet:
bias = alphabet.index(key[key_index])
char_index = alphabet.index(char)
new_index = (char_index - bias) % len(alphabet)
plaintext += alphabet[new_index]
key_index = (key_index + 1) % len(key)
else:
plaintext += char # 保留不在字母表中的字符
return plaintext
ciphertext = 'WL"mKAaequ{q_aY$oz8`wBqLAF_{cku|eYAczt!pmoqAh+'
result = vigenere_decrypt(ciphertext, key)
print(result)

得到flag: 0xGame{you_learned_vigenere_cipher_2df4b1c2e3}

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

day1
https://yoyolp.github.io/posts/other/day1/
作者
超级玉米人
发布于
2025-10-28
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录