Filer: Download challenge files
Writeup: WiFi Heist
Indledende Observationer
Jeg downloadede zip-filen, som indeholdt en Python-fil (wifi_heist.py).
Scriptet beskrev tydeligt, at WiFi-passwordet var blevet “scrambled” i tre trin, og at jeg skulle reverse processen i omvendt rækkefølge.
Flag-formatet var angivet som:
| |
Recon / Kortlægning
Jeg gennemgik funktionen:
| |
Den udførte tre transformationer:
Step 1 – Caesar Shift (+3)
| |
Hvert tegn blev forskudt 3 pladser frem i ASCII.
Step 2 – Reverse
| |
Hele listen blev vendt om.
Step 3 – XOR med 42
| |
Hvert tegn blev XOR’et med tallet 42.
Den returnerede værdi var en liste af integers.
Den givne scrambled liste var:
| |
Analyse
Sårbarheden her er blot en reversibel transformationskæde.
Vigtigt at bemærke:
XOR er sin egen inverse ->
a ^ b ^ b = aReverse kan blot laves igen
Caesar shift +3 kan reverseres med -3
Hintet sagde eksplicit:
Undo step 3 first, then step 2, then step 1.
Angrebet
Jeg skrev et solve-script, der udførte følgende:
XOR 42 igen
Reverse listen
Shift -3
| |
Flaget
Scriptet returnerede:
| |
Jeg verificerede flaget ved at bruge den medfølgende check_flag() funktion, som bekræftede korrekt løsning.
Konklusion
Challenge’en var en klassisk reversering af en simpel cipher-pipeline:
Caesar shift
Reverse
XOR
Den krævede grundlæggende forståelse af:
ASCII manipulation
XOR-egenskaber
Inverse operationer
Flaget var:
| |