CTF

Posts with this tag

Posts

  • The CSC 2026 Payslip Portal: Three Bugs Where the File You Can Write Is the File You Run

    Part two of the CSC 2026 finals. After the ransomware recovery came the attack-and-defence round, and one service fell to a chain of three — an unauthenticated CBC cookie became a padding oracle that forged an HR role, an HR-only template preview handed the live PDF generator to a Go template and turned it into a file write, and that file write landed on the one Go source the service re-interprets on every payslip.

    13 min read 2,576 words Category: Security Tags: ctf, web, cryptography

  • Reversing the CSC 2026 Ransomware Unlocker: A Fake gdb, a Salt Born in a SIGTRAP Handler, and an Invertible Check

    How our team recovered the files a CTF ransomware encrypted at the CSC 2026 finals, by reversing the 4.9 KB unlocker it left behind, finding the salt it computes only inside a SIGTRAP handler, inverting its flag check, and rebuilding its SHA-256 and RC4 key schedule in Python, then restoring 43 files on six hosts from the organisers' inventory with a runbook and two scripts.

    20 min read 3,908 words Category: Security Tags: ctf, reverse engineering, ransomware

  • conero: Spending One Note Eight Times Because the Subgroup Check Is in the Wrong Function

    A write-up of the blockchain challenge conero from the Codegate 2026 qualifiers, where a patched geth implements Monero-style ring signatures, writes a careful canonical-key-image check, and then verifies proofs in a function that never calls it — so one note yields eight key images and drains the pool.

    9 min read 1,724 words Category: Security Tags: ctf, blockchain, cryptography

  • Small ROS: Eighty-One Random-Oracle Equations That Collapse Into One Subset-Sum

    A write-up of the crypto challenge Small ROS from the m0leCon 2026 finals, where choosing the rows of an overdetermined random-oracle system turns eighty of its equations into coordinate lookups, leaves one, and reduces the whole verifier to a modular subset-sum that a lattice solves.

    9 min read 1,712 words Category: Security Tags: ctf, cryptography, lattices

  • flagchecker3: A Bytecode VM That Decrypts Itself Only If You Already Know the Flag

    A write-up of the Android reversing challenge flagchecker3 from VSLCTF 2026, where the native checker runs a bytecode VM whose instruction stream is XOR-encrypted under a key that every comparison result feeds back into, so a wrong byte derails the decryption and turns the obfuscation into an oracle.

    8 min read 1,474 words Category: Security Tags: ctf, reverse engineering, android

  • King Halo: When a Zero-Knowledge Circuit Forgets to Constrain the Path Length

    A write-up of the crypto challenge King Halo from WannaGame Championship 2025, where a Halo2 Merkle circuit verifies a path without constraining its length, so an empty path reduces the whole proof to leaf equals root and membership is never proved at all.

    6 min read 1,062 words Category: Security Tags: ctf, cryptography, zero knowledge

  • CO: A Cubic Surface, a Hyperplane Section, and a Flag Collected One Small Prime at a Time

    A write-up of the crypto challenge CO from WannaGame Championship 2025, where the group lives on a cubic surface in projective 3-space, a hyperplane through the given points cuts it into an ordinary elliptic curve, and the same secret scalar reused across attacker-chosen primes falls to Pohlig-Hellman and the CRT.

    8 min read 1,528 words Category: Security Tags: ctf, cryptography, elliptic curves

  • Interesting Signing: One Byte Into the Modulus, Then an Orthogonal Lattice Factors It

    A write-up of the crypto challenge Interesting Signing from WannaGame Championship 2025, where a one-byte overflow into the RSA modulus turns the CRT recombination into a linear equation over the integers, and ten of those equations let an orthogonal lattice recover the private CRT coefficients and factor a 3072-bit modulus.

    9 min read 1,704 words Category: Security Tags: ctf, cryptography, rsa

  • Trust Across Virtual Hosts: Resuming a TLS 1.3 Session Past mTLS, Then a Signed Plugin to RCE

    A write-up of the web challenge Trust from WannaGame Championship 2025, where a TLS session cache shared between two nginx virtual hosts lets a ticket from the public site skip client-certificate checks on the employee site, and a plugin upload that verifies a signature but extracts appended data and symlinks plants a JSP shell.

    6 min read 1,120 words Category: Security Tags: ctf, web security, tls

  • just-exit: Getting a Shell by Asking for a Syscall That Is Forbidden

    A write-up of the pwnable challenge just-exit from DreamHack CTF Season 7, where every modern mitigation is on and the exploit is a single byte, because the seccomp filter answers a denied syscall with SIGSYS and the program's SIGSYS handler calls system.

    6 min read 1,010 words Category: Security Tags: ctf, pwn, linux

  • ABN Gallery: The Host a Checker Reads and the Host a Socket Dials

    A write-up of the web challenge ABN Gallery from DreamHack CTF Season 7, where a hand-written host extractor and the runtime's own URL parser disagree about what "0" means, and that one character of disagreement turns an SSRF guard into a path traversal on the flag.

    7 min read 1,396 words Category: Security Tags: ctf, web, ssrf