<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CTFs on MOZA</title><link>https://moza369.github.io/ctfs/</link><description>Recent content in CTFs on MOZA</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 13 Jan 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://moza369.github.io/ctfs/index.xml" rel="self" type="application/rss+xml"/><item><title>BugForge – Tanuki</title><link>https://moza369.github.io/ctfs/bugforge-tanuki/</link><pubDate>Tue, 13 Jan 2026 00:00:00 +0000</pubDate><guid>https://moza369.github.io/ctfs/bugforge-tanuki/</guid><description>&lt;h2 id="challenge-info"&gt;Challenge Info&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Challenge Name:&lt;/strong&gt; Tanuki Scope&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; bugforge&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Web&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Points:&lt;/strong&gt; 10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;First Blood:&lt;/strong&gt; moza369 🩸&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;img src="https://moza369.github.io/images/challenges/bugforge/tanuki/login-page.png" alt="login Page"&gt;&lt;/p&gt;&#10;&lt;h2 id="challenge-overview"&gt;Challenge Overview&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;Tanuki Scope&lt;/strong&gt; is a daily web challenge that simulates a small learning platform.&lt;br&gt;&#10;The application allows users to &lt;strong&gt;register and log in&lt;/strong&gt;, then study different decks such as &lt;em&gt;Technology&lt;/em&gt; and &lt;em&gt;Linux Trivia&lt;/em&gt;.&lt;/p&gt;&#10;&lt;p&gt;After logging in, the dashboard displays progress information like:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Cards studied&lt;/li&gt;&#10;&lt;li&gt;Cards mastered&lt;/li&gt;&#10;&lt;li&gt;Weekly sessions&lt;/li&gt;&#10;&lt;li&gt;Study statistics&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The objective was to identify a vulnerability that leads to the flag.&lt;/p&gt;</description></item><item><title>BugForge – Ottergram</title><link>https://moza369.github.io/ctfs/bugforge-ottergram/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://moza369.github.io/ctfs/bugforge-ottergram/</guid><description>&lt;h2 id="challenge-info"&gt;Challenge Info&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Challenge Name:&lt;/strong&gt; Ottergram&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; bugforge&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Web&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Points:&lt;/strong&gt; 10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Hint:&lt;/strong&gt; &lt;code&gt;GraphQL&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="challenge-overview"&gt;Challenge Overview&lt;/h2&gt;&#10;&lt;p&gt;The challenge provides a web application called &lt;strong&gt;Ottergram&lt;/strong&gt;. The given hint strongly suggests that the vulnerability lies within a &lt;strong&gt;GraphQL endpoint&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;The application scope allows access to all paths under:&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;https://&amp;lt;lab-id&amp;gt;.labs-app.bugforge.io/*&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img src="https://moza369.github.io/images/challenges/bugforge/ottergram/main-page.png" alt="Main Page"&gt;&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="initial-reconnaissance"&gt;Initial Reconnaissance&lt;/h2&gt;&#10;&lt;p&gt;While exploring the application, I tested common GraphQL endpoints and discovered that the following endpoint was accessible:&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;/graphql&lt;/code&gt;&lt;/p&gt;</description></item><item><title>BugForge – Shady Oaks Financial</title><link>https://moza369.github.io/ctfs/bugforge-shady_oaks_financial/</link><pubDate>Fri, 09 Jan 2026 00:00:00 +0000</pubDate><guid>https://moza369.github.io/ctfs/bugforge-shady_oaks_financial/</guid><description>&lt;h2 id="challenge-info"&gt;Challenge Info&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Challenge Name:&lt;/strong&gt; Shady Oaks Financial&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; bugforge&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Web&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Points:&lt;/strong&gt; 10&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h1 id="overview"&gt;Overview&lt;/h1&gt;&#10;&lt;p&gt;The &lt;strong&gt;Shady Oaks Financial&lt;/strong&gt; application provides a login and registration page.&#10;After registering a normal user account, the application issues a &lt;strong&gt;JWT token&lt;/strong&gt; that is stored in the browser.&lt;/p&gt;&#10;&lt;p&gt;The goal of this challenge is to escalate privileges and gain &lt;strong&gt;admin access&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="initial-access"&gt;Initial Access&lt;/h2&gt;&#10;&lt;p&gt;We begin by creating a normal user account using the registration page and logging in successfully.&lt;/p&gt;</description></item><item><title>Root-me — Master kee</title><link>https://moza369.github.io/ctfs/root-me_masterkee/</link><pubDate>Sun, 16 Mar 2025 00:00:00 +0000</pubDate><guid>https://moza369.github.io/ctfs/root-me_masterkee/</guid><description>&lt;h2 id="challenge-info"&gt;Challenge Info&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; root-me&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Forensics&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Points:&lt;/strong&gt; 15&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://www.root-me.org/en/Challenges/Forensic/MasterKee"&gt;MasterKee&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h1 id="cracking-the-masterkee-challenge-exploiting-cve-2023-32784"&gt;Cracking the MasterKee Challenge: Exploiting CVE-2023-32784&lt;/h1&gt;&#10;&lt;p&gt;For this challenge, we are provided with two files:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;MasterKee.DMP&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;Masterkee.kdbx&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The goal is to extract the password from the &lt;code&gt;.DMP&lt;/code&gt; file and use it to unlock the KeePass database (&lt;code&gt;Masterkee.kdbx&lt;/code&gt;).&lt;/p&gt;&#10;&lt;p&gt;After some research, I discovered that a specific version of KeePass is vulnerable to &lt;strong&gt;CVE-2023-32784&lt;/strong&gt;, which allows extracting the master password from a memory dump.&lt;/p&gt;</description></item><item><title>Root-me — Oh My Grub</title><link>https://moza369.github.io/ctfs/root-me_ohmygrub/</link><pubDate>Tue, 11 Mar 2025 00:00:00 +0000</pubDate><guid>https://moza369.github.io/ctfs/root-me_ohmygrub/</guid><description>&lt;h2 id="challenge-info"&gt;Challenge Info&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Platform:&lt;/strong&gt; root-me&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Forensics&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Points:&lt;/strong&gt; 15&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Link:&lt;/strong&gt; &lt;a href="https://www.root-me.org/en/Challenges/Forensic/Oh-My-Grub"&gt;Oh-My-Grub&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h1 id="analyzing-an-ova-file-to-retrieve-login-credentials"&gt;Analyzing an OVA File to Retrieve Login Credentials&lt;/h1&gt;&#10;&lt;p&gt;In this challenge, we are given an OVA (Open Virtualization Appliance) file. The goal is to analyze the file and retrieve the login credentials required to access the virtual machine. Here&amp;rsquo;s how I approached the problem:&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="step-1-extracting-files-from-the-ova-file"&gt;Step 1: Extracting Files from the OVA File&lt;/h2&gt;&#10;&lt;p&gt;The OVA file is essentially a tarball, so we can extract its contents using the &lt;code&gt;tar&lt;/code&gt; command:&lt;/p&gt;</description></item><item><title>N7 CTF – CTF Writeups</title><link>https://moza369.github.io/ctfs/n7-ctf-2024/</link><pubDate>Sun, 12 May 2024 00:00:00 +0000</pubDate><guid>https://moza369.github.io/ctfs/n7-ctf-2024/</guid><description>&lt;h1 id="n7-ctf"&gt;N7 CTF&lt;/h1&gt;&#10;&lt;p&gt;The &lt;strong&gt;N7 CTF&lt;/strong&gt; was a Capture The Flag competition featuring challenges from several categories, including &lt;strong&gt;Web, Cryptography, Steganography, and Reverse Engineering&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;In this writeup, I will cover the challenges I solved and explain the techniques used to obtain each flag.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="cryptography"&gt;Cryptography&lt;/h2&gt;&#10;&lt;h3 id="challenge-1--custom-encryption"&gt;Challenge 1 — Custom Encryption&lt;/h3&gt;&#10;&lt;h5 id="challenge-overview"&gt;Challenge Overview&lt;/h5&gt;&#10;&lt;p&gt;For the first crypto challenge, we were given two Python files:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;message.py&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;output.py&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;The first step was to inspect the encryption algorithm.&lt;/p&gt;</description></item></channel></rss>