Skip to the content.

Decrypt message

.
└── Decrypt message
    ├── encrypt.py
    ├── key.txt
    └── secret.txt

เราได้ file มา 3 ไฟล์ จากการอ่านไฟล์เราก็ทราบว่า

1.png

แต่ความแปลกคือ key.txt ดูเหมือนจะไม่ได้มี key เดียวนะสิ

ดังนั้นเราจึงสรุปสิ่งที่เราจะทำออกมาได้ 2 อย่างคือ

from cryptography.fernet import Fernet

fm = open("flag.txt", "w")
fs = open("secret.txt", "rb")
fk = open("key.txt", "r")

secret = fs.read()

for key in fk.read().split("\n"):
    try:
        cipher_suite = Fernet(key.encode())
        decrypted_message = cipher_suite.decrypt(secret)
        break
    except:
        pass

fm.write(decrypted_message.decode())

fm.close()
fs.close()
fk.close()
python3 decrypt.py

แล้ว flag จะอยู้ในไฟล์ flag.txt

2.png