点击此处获得更好的阅读体验
WriteUp来源
https://dunsp4rce.github.io/csictf-2020/crypto/2020/07/18/Mein-Kampf.html
by raghul-rajasekar
题目描述
题目考点
"We have intercepted the enemy's communications, but unfortunately, some data was corrupted during transmission. Can you recover the message?" M4 UKW $ Gamma 2 4 $ 5 9 $ 14 3 $ 5 20 fv cd hu ik es op yl wq jm "Ciphertext: zkrtwvvvnrkulxhoywoj" (Words in the flag are separated by underscores)
解题思路
From the communication data format, it is clear that this challenge uses Enigma (the challenge title suggests the same too). However, there are dollar signs in a few places where we don't know the machine configuration. The only choice is to brute-force through all possibilities and see for which combination we get an output in the correct flag format. For automating this, I used the py-enigma
package in Python.
1 | from enigma.machine import EnigmaMachine |
The output is CSICTFNOSHITSHERLOCK I IV VII B-Thin
.
Flag
1 | csictf{no_shit_sherlock} |