<?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>Flask on Th3B0yWh0L1v3d — Security Writeups</title>
    <link>https://th3b0ywh0l1v3d.github.io/tags/flask/</link>
    <description>Recent content in Flask on Th3B0yWh0L1v3d — Security Writeups</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 08 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://th3b0ywh0l1v3d.github.io/tags/flask/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Plant Photographer — TryHackMe</title>
      <link>https://th3b0ywh0l1v3d.github.io/thm/plant-photographer/</link>
      <pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/thm/plant-photographer/</guid>
      <description>SSRF via a pycurl download endpoint chains into file:// LFI, Werkzeug debug PIN cracking, and full RCE on a Dockerised Flask app.</description>
    </item>
    <item>
      <title>Chakravyuh Defense — DalCTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/web/chakravyuh-defense/</link>
      <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/web/chakravyuh-defense/</guid>
      <description>A defensive web CTF where you patch the vulnerable source and the grader attacks your build: Secure the Login is fixed with parameterized queries, and Render &amp;amp; Plunder is sealed by binding SSTI input as render context plus adding an object-level authorization check to kill the IDOR.</description>
    </item>
    <item>
      <title>DEAD VAULT — Zer0d4yh31st CTF</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/zer0d4yh31st/web/dead-vault/</link>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/zer0d4yh31st/web/dead-vault/</guid>
      <description>A Money Heist–themed Flask app hides a flag split into three fragments behind a server-side URL fetcher, bypassed with a DNS-based SSRF to reach the internal API and a privileged file-read endpoint.</description>
    </item>
    <item>
      <title>Expensey Eats — DalCTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/web/expensey-eats/</link>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/web/expensey-eats/</guid>
      <description>An alg:none JWT forgery grants admin, UNION-based SQLi reveals a hidden $99,999 vault dish, and a broken-authorization order flow lets the admin buy it for free — the flag arrives in a one-time Flask flash message.</description>
    </item>
    <item>
      <title>Heart Part 7 — DalCTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/web/heart-part-7/</link>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/dalctf-2026/web/heart-part-7/</guid>
      <description>A Kendrick-themed Flask app chains UNION-based SQLi to leak admin creds, an admin panel exposes an internal cipher microservice, and a Heartbleed-style over-read bleeds the AES-256 master key from heap memory to decrypt the flag.</description>
    </item>
    <item>
      <title>La Casa de Papel (Secure Comms) — Zer0d4yh31st CTF</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/zer0d4yh31st/web/la-casa-de-papel/</link>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/zer0d4yh31st/web/la-casa-de-papel/</guid>
      <description>A Flask/Jinja2 app renders user-supplied names directly into a template, enabling SSTI that dumps os.environ to leak the flag stored as an environment variable.</description>
    </item>
    <item>
      <title>Simple Food Notifications — GPN CTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/gpn-ctf-2026/web/simple-food-notifications/</link>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/gpn-ctf-2026/web/simple-food-notifications/</guid>
      <description>A Flask meal-notification SSRF whose is_global filter is defeated by abusing urllib3&amp;rsquo;s retry-driven DNS re-resolution — a global IP that hangs on port 80 (8.8.8.8) outlasts dnsmasq&amp;rsquo;s 2s cache, so the retry re-resolves to 127.0.0.1 and reaches the localhost-only /vip-meal.</description>
    </item>
    <item>
      <title>Fancy Food Notifications — GPN CTF 2026</title>
      <link>https://th3b0ywh0l1v3d.github.io/ctf/gpn-ctf-2026/web/fancy-food-notifications/</link>
      <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://th3b0ywh0l1v3d.github.io/ctf/gpn-ctf-2026/web/fancy-food-notifications/</guid>
      <description>Chaining a weak RNG seed (258 possible HMAC keys), an SSRF token leak, a urlparse vs urllib3 parser differential, and a URL-userinfo Basic-auth override to forge a VIP JWT and reach /vip-meal as localhost.</description>
    </item>
  </channel>
</rss>
