script25: Writeup for Misc/Modulo

Python jail challenge exploited via getattr, circumventing AST and character restrictions, dynamically generating numbers and strings with %c achieving remote code execution.

August 18, 2025 · 9 min · hxuu

L3AK25: Writeup for Web/Window-of-Opportunity

Exploits window.opener with SOP disabled to bypass CSRF protections and read sensitive data from the admin’s tab via DOM access.

July 14, 2025 · 10 min · hxuu

L3AK25: Writeup for Web/Notorious-Note

A prototype pollution vulnerability in a custom parser enables bypassing sanitize-html, allowing an XSS via <iframe onload>. Exploitation relies on unsafe object property checks and inherited config values.

July 14, 2025 · 8 min · hxuu

L3AK25: Writeup for Web/Flag-L3ak

The application is vulnerable to a side-channel attack known as XS-Search, a subclass of XS-Leaks. By observing differences in server responses based on 3-character search queries, we reconstructed the flag one character at a time.

July 14, 2025 · 5 min · hxuu

N0PS25: Writeup for Web/Plotwist

This writeup covers the solution to the “Plotwist” web challenge from N0PS CTF 2025, which involves bypassing NGINX access controls to reach a restricted API endpoint.

June 4, 2025 · 10 min · hxuu

N0PS25: Writeup for Web/CasinOps

A Flask-based web application echoing user-provided data via a CSV export feature. Vulnerable to SSTI

June 2, 2025 · 8 min · hxuu

Ingeneer25 (Problem Solving) - The Unseen Curse

This challenge masterfully blends deductive logic, iterative inference, and a compelling magical narrative. It requires understanding how knowledge propagates in rounds and how silence becomes information. By modeling the interactions over successive nights, we compute the precise moment someone can break the uncertainty and solve the puzzle.

May 22, 2025 · 6 min · hxuu

Dice25: Writeup for web/pyramid

Exploited Node.js streams to self-refer, bypassing real users for coins.

April 15, 2025 · 10 min · hxuu

Dice25: Writeup for web/cookie-recipes-v3

Bypass ExpressJS length check using number[]=value; qs parses array, coerced to pass validation.

April 12, 2025 · 9 min · hxuu

UTCTF25 - Number Champ (WEB)

Link for the challenge is here 1. Challenge Overview After clicking on the link of the challenge, the website asks for permission to get our geographical location. Also, according to the text on the screen, it seems like we’re playing a game of numbers against opponents of the same Elo (or level), hence the “find match” button. Say we allow the web application our location. We see a welcome message containing what seems to be a random username and a starting elo of 1000. ...

March 18, 2025 · 8 min · hxuu