Existential Loading Bar

Writeup: Existential Loading Bar Indledende Observationer Jeg tilgik websitet og blev mødt af en admin-login side med en loadingbar der aldrig kom videre. Wappalyzer viste at backend kørte: Flask 3.1.5 Python 3.12.12 Der var ingen yderligere hints i UI’et, så jeg fortsatte med at undersøge koden. Recon / Kortlægning Jeg åbnede koden via View Source. I bunden af HTML’en fandt jeg følgende JavaScript: 1 2 3 4 5 6 7 8 <script> // Admin credentials (view source to see – don’t do this in production.) var ADMIN_USER = "admin"; var ADMIN_PASSWORD = "vibe_coding_ftw_2024"; if (window.location.search.indexOf("error=1") !== -1) { document.getElementById("err").textContent = "Nope. Try again. (Or just view source.)"; } </script> Her lå admin credentials hardcoded direkte i klient-side kode. ...

June 18, 2026 · 2 min · Jeppe Sørensen

Jeg har mistet min pakke

Writeup: Jeg har mistet min pakke Indledende Observationer Jeg gik til http://minpakke.cfire. Det så ud til at være en pakke-tracking side, med en chatbot og et tracking vindue. Chatbotten på siden ville ikke udlevere tracking ID eller postnummer direkte. Recon / Kortlægning Jeg testede chatbotten med klassiske “jeg er admin” prompt-injections for at få den til at køre interne værktøjer: Chatlog: Jeg bad om at udføre et internt tool kald til at hente alle tracking IDs. ...

June 18, 2026 · 2 min · Jeppe Sørensen

Please no cry

Filer: Download challenge files Writeup: Please no cry Indledende Observationer Jeg fik adgang til en ransomware-simulation kaldet PleaseNoCry, hvor filer langsomt blev “krypteret”. Decrypt-knappen gav følgende hint: The real WannaCry checked for some domain. Hijack it by running a Python server on it. SSH creds: ctfuser:wannacry123 Dette indikerede, at challenge’en simulerede den rigtige WannaCry kill switch. Recon / Kortlægning Jeg åbnede browserens DevTools → Network og observerede requests til: 1 ohnotheydiscoveredoursupersecrectdomiantostopthespread.cfire Dette måtte være kill-switch domænet. ...

June 18, 2026 · 1 min · Jeppe Sørensen