<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>B01lersctf on k1nt4r0u's site</title><link>https://blog.k1nt4r0u.site/categories/b01lersctf/</link><description>Recent content in B01lersctf on k1nt4r0u's site</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright (c) k1nt4r0u</copyright><lastBuildDate>Mon, 27 Apr 2026 14:17:36 +0700</lastBuildDate><atom:link href="https://blog.k1nt4r0u.site/categories/b01lersctf/index.xml" rel="self" type="application/rss+xml"/><item><title>Favorite Potato</title><link>https://blog.k1nt4r0u.site/writeups/b01lersctf/favorite_potato/writeup/</link><pubDate>Mon, 27 Apr 2026 14:17:36 +0700</pubDate><guid>https://blog.k1nt4r0u.site/writeups/b01lersctf/favorite_potato/writeup/</guid><description>&lt;p&gt;&lt;code&gt;favorite_potato&lt;/code&gt; ships a Python wrapper, a tiny &lt;code&gt;test.bin&lt;/code&gt;, and a large compressed &lt;code&gt;code.bin.gz&lt;/code&gt;. The wrapper makes the challenge goal explicit:&lt;/p&gt;</description></item><item><title>Kyoto Protocol</title><link>https://blog.k1nt4r0u.site/writeups/b01lersctf/kyoto_protocol/writeup/</link><pubDate>Mon, 27 Apr 2026 14:17:36 +0700</pubDate><guid>https://blog.k1nt4r0u.site/writeups/b01lersctf/kyoto_protocol/writeup/</guid><description>&lt;h2 class="relative group"&gt;Result
 &lt;div id="result" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#result" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Challenge: &lt;code&gt;kyoto_protocol&lt;/code&gt; / Kyoto reversing challenge&lt;/li&gt;
&lt;li&gt;Correct password:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;111314212629363839424448535558616467727577828385969799&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Flag:&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;bctf{im_bash_ijng_it._Yeahhg_:3}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Files inspected
 &lt;div id="files-inspected" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#files-inspected" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The uploaded archive contained:&lt;/p&gt;</description></item><item><title>Shakespeares Revenge</title><link>https://blog.k1nt4r0u.site/writeups/b01lersctf/shakespeares-revenge/writeup/</link><pubDate>Mon, 27 Apr 2026 14:17:36 +0700</pubDate><guid>https://blog.k1nt4r0u.site/writeups/b01lersctf/shakespeares-revenge/writeup/</guid><description>&lt;ul&gt;
&lt;li&gt;Event: b01lers CTF&lt;/li&gt;
&lt;li&gt;Category: Reverse Engineering&lt;/li&gt;
&lt;li&gt;Challenge: &lt;code&gt;rev/shakespeares-revenge&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Files: &lt;code&gt;server.py&lt;/code&gt;, &lt;code&gt;shakespeare&lt;/code&gt;, &lt;code&gt;challenge.spl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Remote: &lt;code&gt;ncat --ssl shakespeares-revenge.opus4-7.b01le.rs 8443&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Flag: &lt;code&gt;bctf{4_p0und_0f_fl35h}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This challenge looked like a Shakespeare-language calculator at first, but the real solve was a VM bug that turned the calculator into a syscall primitive. The interesting part was not the Python wrapper or the SPL script alone. It was the way the interpreter compiled that script, how it stored stack values, and how Scene VI quietly mapped to a hidden syscall operation.&lt;/p&gt;</description></item><item><title>Throughthewall</title><link>https://blog.k1nt4r0u.site/writeups/b01lersctf/throughthewall/writeup/</link><pubDate>Mon, 27 Apr 2026 14:17:36 +0700</pubDate><guid>https://blog.k1nt4r0u.site/writeups/b01lersctf/throughthewall/writeup/</guid><description>&lt;ul&gt;
&lt;li&gt;Event: b01lers CTF 2026&lt;/li&gt;
&lt;li&gt;Category: &lt;code&gt;pwn&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Challenge: &lt;code&gt;pwn/throughthewall&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Files: &lt;code&gt;bzImage&lt;/code&gt;, &lt;code&gt;initramfs.cpio.gz&lt;/code&gt;, &lt;code&gt;start.sh&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Remote: &lt;code&gt;ncat --ssl throughthewall.opus4-7.b01le.rs 8443&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Flag: &lt;code&gt;bctf{spray_those_dirty_pipes}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This challenge was a kernel pwn packaged as a bootable QEMU image. The archive gave a kernel, an initramfs, and a launcher script. The remote service wrapped the same VM behind TLS and a proof-of-work gate, then dropped us into a BusyBox shell as the unprivileged &lt;code&gt;ctf&lt;/code&gt; user. The only real goal was to turn that shell into root and read &lt;code&gt;/flag.txt&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Tiles+ai</title><link>https://blog.k1nt4r0u.site/writeups/b01lersctf/tiles+ai/writeup/</link><pubDate>Mon, 27 Apr 2026 14:17:36 +0700</pubDate><guid>https://blog.k1nt4r0u.site/writeups/b01lersctf/tiles+ai/writeup/</guid><description>&lt;p&gt;The binary is a static stripped ELF that refuses to run unless the CPU exposes Sapphire Rapids AMX features. Local execution in the sandbox was blocked by both the CPUID gate and the lack of AMX support, so the solve path had to come from static reconstruction of the AMX dataflow.&lt;/p&gt;</description></item></channel></rss>