hur01.
CTF and wargame write-ups: reverse engineering, exploitation, cryptography, blockchain internals and hardware side-channels.
These are problems I worked through myself. I leave the wrong turns in, because several of these only worked after I had been wrong about them twice.
4thscriptCTF 2026
17thNNS CTF 2026
109write-ups
33Pwn
31Reversing
15Misc
9Blockchain
7Web
6Crypto
4boot2root
3devsecops
1Forensics
Focus
- Protocol and consensus internals
- Reading production node code from Mina, Starcoin, Aztec and Cairo, looking for soundness and liveness bugs.
- Applied cryptanalysis
- Lattice attacks on biased nonces, leaked trusted setups, and structured LWE. Each one written and run against the live service.
- Hardware and side-channels
- Correlation power analysis, decoding bus protocols from raw electrical signals, and recovering a netlist from GDSII layout.
- Reverse engineering
- Obfuscation that puts control flow where a disassembler will not look. One checker ran entirely inside DWARF unwind tables.
Write-ups — Wargame solutions, by site
Concepts — Notes from studying the fundamentals
CTF — Competition write-ups
Latest
2026.09.30AgilePaste 3Differential handling of duplicate Erlang ETF map keys — a term that never passed validation reaches the client's JSON encoderNNS CTF 2026Web2026.09.30Count on me!`vb.htm?checkupdate=<url>` reflects the server-side fetch body verbatim — response-reflected SSRF (the SSID injection and `update.cgi` crash were dead ends)NNS CTF 2026boot2root2026.09.30dont-worryCSP bypass via path traversal in the Prism autoloader's `data-dependencies`, chained with `No-Vary-Search` cache-key confusion to replay the bot's authenticated responseNNS CTF 2026129ptWeb2026.09.30Clean SweepECOVACS DEEBOT T9 firmware 1.4.9 — `reqDo`'s JSON command dispatcher builds a string with `sprintf` and hands it to `popen()`NNS CTF 2026176ptboot2root2026.09.30Dot MatrixParse the I2C capture → map registers to LEDs → rebuild frames → fix the row order → recover the true scroll periodNNS CTF 2026146ptMisc2026.09.30DownhillHidden-parallelepiped attack on a 2003 signature scheme — recover `f` with covariance plus FFT-augmented 4th-moment gradient descentNNS CTF 2026155ptCrypto2026.09.30bloatware.jsNext.js resume-data-cache blobs are base64 → inflate → JSON.parse with no integrity check, and the client Flight decoder's synchronous reference walk has no guards at all.NNS CTF 2026299ptWeb2026.09.30dyslexic`vboxsf` is a client filesystem — the guest trusts the host's SHFL RPC responses without validating themNNS CTF 2026127ptMisc2026.09.30Embedded encryptorLocate the encryption in the power trace, align per-block, recover the key with CPA (last two bytes handled separately)NNS CTF 2026133ptMisc2026.09.30Flag Pointer RegisterPE32+ — the decoder always runs, the result pointer just never reaches RDX. Replay the 8-byte-key XOR insteadNNS CTF 202697ptReversing