Easy
根据给出的加密算法和密文
编写一个解密程序
def rc4(key, data):
key_length = len(key)
s = list(range(256))
j = 0
for i in range(256):
j = (j + s[i] + ord(key[i % key_length])) % 256
s[i], s[j] = s[j], s[i]
i = j = 0
output = bytearray()
for byte in data:
i = (i + 1) % 256
j = (j + s[i]) % 256
s[i], s[j] = s[j], s[i]
k = s[(s[i] + s[j]) % 256]
output.append(byte ^ k)
return bytes(output).decode('utf-8', errors='ignore')
key = "hello world"
ciphertext = "d8d2963e0d8ab8533d2a7fe296c529233924"
ciphertext += "6eba0d292d5752578359322c3a77892dfa7261b84f"
flag_length = 40
flag = rc4(key, bytes.fromhex(ciphertext))
flag = flag[:flag_length]
print("Decrypted flag:", flag)
拿到flag
Decrypted flag: WuCup{55a0a84f86a6ad40006f014619577ad3}
Sign WEB
进入环境提示
passwd:sgin
中国蚁剑连上
然后找到flag文件就好
sign misc
一眼16进制
转字符,得