<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Pwning on Th3B0yWh0L1v3d — Security Writeups</title>
    <link>https://th3b0ywh0l1v3d.github.io/categories/pwning/</link>
    <description>Recent content in Pwning on Th3B0yWh0L1v3d — Security Writeups</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 16 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://th3b0ywh0l1v3d.github.io/categories/pwning/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Chicken Dinner</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/chicken-dinner/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/chicken-dinner/</guid>
      <description>Brute-force stack canary byte-by-byte via fork&amp;rsquo;s PID oracle, leak libc with puts, then ORW ROP chain.</description>
    </item>
    <item>
      <title>Coming Together</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/coming-together/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/coming-together/</guid>
      <description>Two&amp;rsquo;s complement INT_MIN negation overflow bypasses an absolute-value check to trigger the win condition.</description>
    </item>
    <item>
      <title>Mania</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/mania/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/mania/</guid>
      <description>Use-after-free on a tcache chunk to overwrite a function pointer and call win().</description>
    </item>
    <item>
      <title>New to the Format</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/new-to-the-format/</link>
      <pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/boroctf-2026/pwning/new-to-the-format/</guid>
      <description>Blind format-string exploit with ASLR off: leak stack address then use %n + call rax to redirect execution.</description>
    </item>
    <item>
      <title>Bandaids Help me Heal — DalCTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/pwning/bandaids-help-me-heal/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/pwning/bandaids-help-me-heal/</guid>
      <description>A &amp;lsquo;pwn&amp;rsquo; binary with no input is really a static-reversing puzzle: a fake usleep loop would take days and a fake integrity check always passes, so reading the constants and undoing a single-byte XOR yields the flag without ever waiting.</description>
    </item>
    <item>
      <title>Password Vault — DalCTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/pwning/password-vault/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/pwning/password-vault/</guid>
      <description>A password-manager heap challenge: free() without nulling the pointer gives a use-after-free, tcache hands the freed Login chunk back via set_password, and overwriting the struct&amp;rsquo;s leading function pointer redirects an indirect call to the leftover read_master_key win function.</description>
    </item>
    <item>
      <title>Slot Machine — DalCTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/pwning/slot-machine/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/pwning/slot-machine/</guid>
      <description>A textbook ret2win: gets() into a 32-byte stack buffer with no canary and no PIE lets us overwrite the saved return address with jackpot(); the only twist is closing stdin to force the menu loop&amp;rsquo;s EOF break so the corrupted return fires.</description>
    </item>
    <item>
      <title>Recipe for Disaster — GPN CTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/gpn-ctf-2026/pwning/recipe-for-disaster/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/gpn-ctf-2026/pwning/recipe-for-disaster/</guid>
      <description>A food-ordering binary reads chef notes with gets() into a buffer sitting in front of an int price field, letting an overflow set a negative price that makes the order total negative and prints /flag.</description>
    </item>
  </channel>
</rss>
