<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Challenge Writeup on </title>
    <link>https://n9o.xyz/tags/challenge-writeup/</link>
    <description>Recent content in Challenge Writeup on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>© 2026 Vaishnav Baraskar</copyright>
    <lastBuildDate>Fri, 03 May 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://n9o.xyz/tags/challenge-writeup/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>PointerOverflow CTF 2024 – DF</title>
      <link>https://n9o.xyz/capturetheflag/pointeroverflow/</link>
      <pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate>
      
      <guid>https://n9o.xyz/capturetheflag/pointeroverflow/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;0x00 – Prologue 
    &lt;div id=&#34;0x00--prologue&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#0x00--prologue&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;Forensics challenges usually start out tame—bit of file carving, maybe some strings, or sleuthing around disk images. But sometimes, one of those USB dumps hits differently.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://n9o.xyz/capturetheflag/pointeroverflow/feature.jpg" />
    </item>
    
    <item>
      <title>JWT Hunt – Iron CTF 2024</title>
      <link>https://n9o.xyz/capturetheflag/ironctf/</link>
      <pubDate>Tue, 23 Apr 2024 00:00:00 +0000</pubDate>
      
      <guid>https://n9o.xyz/capturetheflag/ironctf/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;0x00 – Prologue 
    &lt;div id=&#34;0x00--prologue&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#0x00--prologue&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;I like JWT bugs. They&amp;rsquo;re like puzzles where you know someone somewhere made a careless design call, and you just have to figure out where the glue fell apart. In this one, the challenge was called &amp;ldquo;JWT Hunt&amp;rdquo; and it lived up to the name. Turns out the devs had split the signing key into four parts and sprinkled them around the site like cryptographic breadcrumbs.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://n9o.xyz/capturetheflag/ironctf/feature.jpeg" />
    </item>
    
    <item>
      <title>Binary Badlands – HTB University CTF 2024</title>
      <link>https://n9o.xyz/capturetheflag/binarybandlands/</link>
      <pubDate>Sun, 21 Apr 2024 00:00:00 +0000</pubDate>
      
      <guid>https://n9o.xyz/capturetheflag/binarybandlands/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;0x00 – Prologue 
    &lt;div id=&#34;0x00--prologue&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#0x00--prologue&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;I knew from the moment I saw &amp;ldquo;MD5&amp;rdquo; in the challenge description, things were about to get weird. Anyone who&amp;rsquo;s spent enough time around outdated crypto knows MD5 is a landmine. It’s fast, broken, and predictable in just the right (or wrong) ways. This challenge leaned all the way into that mess.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://n9o.xyz/capturetheflag/binarybandlands/feature.jpg" />
    </item>
    
    <item>
      <title>ZKPoF – HITCON CTF 2024</title>
      <link>https://n9o.xyz/capturetheflag/zkpof/</link>
      <pubDate>Sat, 09 Mar 2024 00:00:00 +0000</pubDate>
      
      <guid>https://n9o.xyz/capturetheflag/zkpof/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;0x00 – Prologue 
    &lt;div id=&#34;0x00--prologue&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#0x00--prologue&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;There are some challenges that punch you in the face with math. And then there are ones like this—&amp;ldquo;ZKPoF&amp;rdquo;—that slowly pull you in, pretending to be a protocol puzzle, until you realize Python’s &lt;code&gt;int()&lt;/code&gt; is about to be your best friend and worst enemy. This was a zero-knowledge proof challenge… but with a twist. Instead of proving knowledge of a secret, I was exploiting the protocol for leaking just enough of it to reconstruct the whole damn secret.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://n9o.xyz/capturetheflag/zkpof/feature.jpg" />
    </item>
    
    <item>
      <title>One by One – LA CTF 2024</title>
      <link>https://n9o.xyz/capturetheflag/onebyone/</link>
      <pubDate>Sun, 18 Feb 2024 00:00:00 +0000</pubDate>
      
      <guid>https://n9o.xyz/capturetheflag/onebyone/</guid>
      <description>&lt;h2 class=&#34;relative group&#34;&gt;0x00 – Prologue 
    &lt;div id=&#34;0x00--prologue&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;
    
    &lt;span
        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100&#34;&gt;
        &lt;a class=&#34;group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline&#34; href=&#34;#0x00--prologue&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;
    &lt;/span&gt;        
    
&lt;/h2&gt;
&lt;p&gt;Brute-forcing a Google Form? Yeah, it sounds dumb until you realize the form is leaking state via some sneaky HTML fields. That&amp;rsquo;s when it turns into an actual side-channel attack and not just clicking buttons like a bot. This was one of those problems where you stare at Chrome DevTools long enough, and suddenly you&amp;rsquo;re deep in Puppeteer automations and page parity logic.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://n9o.xyz/capturetheflag/onebyone/feature.jpg" />
    </item>
    
    <item>
      <title>Hard Forensics – BlackHat MEA Quals 2023</title>
      <link>https://n9o.xyz/capturetheflag/forensics/</link>
      <pubDate>Sat, 04 Nov 2023 00:00:00 +0000</pubDate>
      
      <guid>https://n9o.xyz/capturetheflag/forensics/</guid>
      <description>&lt;p&gt;Sometimes, you get a JPEG, and you just know it’s lying to you. It smiles at you innocently like any regular image, but as a hacker, you know better. So, I stared at the given JPEG for a moment — instinctively opened it in a hex editor. Why? Because standard images don’t end with a bunch of gibberish appended to them.&lt;/p&gt;</description>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://n9o.xyz/capturetheflag/forensics/feature.jpeg" />
    </item>
    
  </channel>
</rss>
