<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Hv23s on Gian Klug</title>
    <link>https://blog.gk.wtf/hv23/</link>
    <description>Recent content in Hv23s on Gian Klug</description>
    <generator>Hugo -- 0.153.0</generator>
    <language>en</language>
    <lastBuildDate>Mon, 01 Jan 2024 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.gk.wtf/hv23/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HackVent 2023 - [HV23.01] A letter from Santa</title>
      <link>https://blog.gk.wtf/hv23/a_letter_from_santa/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/a_letter_from_santa/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Fun&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: Coderion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Finally, after 11 months of resting, Santa can finally send out his presents and challenges again. He was writing a letter to his youngest baby elf, who&amp;rsquo;s just learning his ABC/A-Z&amp;rsquo;s. Can you help the elf read the message?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Upon opening the page, we can select a letter and enter some text:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.gk.wtf/images/1_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;If we use something like &lt;code&gt;|||&lt;/code&gt;, the output looks like a part of a QR code:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.02] Who am I?</title>
      <link>https://blog.gk.wtf/hv23/who_am_i/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/who_am_i/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Fun&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: expl01t&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Have you ever wished for an efficient dating profile for geeks? Here&amp;rsquo;s a great example:
&lt;code&gt;G d--? s+: a+++ C+++$ UL++++$ P---&amp;gt;$ L++++$ !E--- W+++$ N* !o K--? w O+ M-- V PS PE Y PGP++++ t+ 5 X R tv-- b DI- D++ G+++ e+++ h r+++ y+++&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When using the &lt;a href=&#34;https://www.dcode.fr/cipher-identifier&#34;&gt;Cipher Identifier&lt;/a&gt; from &lt;a href=&#34;https://www.dcode.fr&#34;&gt;dcode.fr&lt;/a&gt; with the message, we get &lt;strong&gt;Geek Code&lt;/strong&gt; as the highest result.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.03] Santa&#39;s grille</title>
      <link>https://blog.gk.wtf/hv23/santas_grille/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_grille/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Cryptography, Fun&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: brp64&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;While contemplating the grille and turning some burgers, Santa decided to send all the hackers worldwide some season&amp;rsquo;s greetings.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.gk.wtf/images/3_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve used &lt;a href=&#34;https://merri.cx/enigmator/cipher/grille.html&#34;&gt;https://merri.cx/enigmator/cipher/grille.html&lt;/a&gt; and played a bit around with the grille to match &lt;strong&gt;HV23{&lt;/strong&gt;. After some trial and error I got to the following grille:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.gk.wtf/images/3_2.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;That resulted in &lt;code&gt;3r4y_hHV23{mt2023}8ckven&lt;/code&gt;, with a bit of guessing I could determine the flag: &lt;code&gt;HV23{m3rry_h8ckvent2023}&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.04] Bowser</title>
      <link>https://blog.gk.wtf/hv23/bowser/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/bowser/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Reverse Engineering&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: veganjay&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa has heard that some kids appreciate a video game as a christmas gift. He would rather have the kids solve some CTF challenges, so he took some inspiration and turned it into a challenge. Can you save the princess?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Opening the binary in binary ninja reveals the following:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.gk.wtf/images/4_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Just running &lt;code&gt;./bowser mario&lt;/code&gt; doesn&amp;rsquo;t work though, we only get a message:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Sorry, your flag is in another castle.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;So, let&amp;rsquo;s look at the algorithm; &lt;code&gt;&amp;amp;str&lt;/code&gt; seems to contain the flag, &amp;ldquo;encrypted&amp;rdquo; with bitwise &lt;code&gt;NOT&lt;/code&gt;. It looks like the loop is terminated early due to a &lt;code&gt;NULL&lt;/code&gt; byte though. The easiest way for me was to just use &lt;a href=&#34;https://gchq.github.io/CyberChef/&#34;&gt;CyberChef&lt;/a&gt; with the string and use the NOT operation:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.05] Aurora</title>
      <link>https://blog.gk.wtf/hv23/aurora/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/aurora/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Fun&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: monkey9508&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Northern Lights appeared at exceptionally low latitudes this year due to the high level of solar activity. But from Santa&amp;rsquo;s grotto at the North Pole, it&amp;rsquo;s not unusual at all to see them stretching across the sky. Snowball the elf tried to capture a video of the aurora for his Instagram feed, but his phone doesn&amp;rsquo;t work well in poor light, and the results were rather grainy and disappointing. Is there anything you can do to obtain a clearer image?&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.06] Santa should use a password manager</title>
      <link>https://blog.gk.wtf/hv23/santa_should_use_a_password_manager/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santa_should_use_a_password_manager/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Fun, Forensic&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: wangibangi&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa is getting old and has troubles remembering his password. He said password Managers are too complicated for him and he found a better way. So he screenshotted his password and decided to store it somewhere handy, where he can always find it and where its easy to access.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We get a memory dump of a windows machine. I used &lt;a href=&#34;https://github.com/ufrisk/MemProcFS&#34;&gt;MemProcFS&lt;/a&gt; to mount the image:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.07] The golden book of Santa</title>
      <link>https://blog.gk.wtf/hv23/the_golden_book_of_santa/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/the_golden_book_of_santa/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Forensic, Network Security, Web Security&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: darkstar&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An employee found out that someone is selling secret information from Santa&amp;rsquo;s golden book. For security reasons, the service for accessing the book was immediately stopped and there is now only a note about the maintenance work. However, it still seems possible that someone is leaking secret data.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The challenge provides a TCP server that always returns the same chunked response.
After trying around a lot, I found that the flag is hidden in the chunk length that is used for every chunk:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.08] SantaLabs bask</title>
      <link>https://blog.gk.wtf/hv23/santalabs_bask/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santalabs_bask/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Web&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: coderion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ditch flask and complicated python. With SantaLabs bask, you can write interactive websites using good, old bash and even template your files by using dynamic scripting!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The initial password check fails to escape the string in quotes when doing string comparison.
Thus it supports globbing and the password can be guessed:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;requests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;string&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ascii_lowercase&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://localhost:3000/login&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;check_pw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;body&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;password=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;post&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;logged&amp;#34;&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;check_glob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;body&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;password=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pw&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;requests&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;post&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;logged&amp;#34;&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;r&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ascii_lowercase&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;check&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Trying: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;check&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;check_glob&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;check&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;c&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;check_pw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Password: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;break&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;We get &lt;code&gt;salami&lt;/code&gt; as the password and can then log in to get the flag:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.09] Passage encryption</title>
      <link>https://blog.gk.wtf/hv23/passage_encryption/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/passage_encryption/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Network Security, Fun&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: dr_nick&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa looked at the network logs of his machine and noticed that one of the elves browsed a weird website. He managed to get the pcap of it, and it seems as though there is some sensitive information in there?!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Even though the pcap looked like this is some kind of web forensics challenge, the flag was actually in the source ports used to connect to the server:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.10] diy-jinja</title>
      <link>https://blog.gk.wtf/hv23/diy-jinja/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/diy-jinja/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Web Security&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: coderion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We&amp;rsquo;ve heard you like to create your own forms. With &lt;strong&gt;SANTA&lt;/strong&gt; (Secure and New Template Automation), you can upload your own jinja templates and have the convenience of HTML input fields to have your friends fill them out! Obviously 100% secure and even with anti-tampering protection!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This challange actually had two unintended solutions (Regex bypass and abusing the description field for labels), the intended solution was to just use &lt;code&gt;{% %}&lt;/code&gt; tags for flow control instead of &lt;code&gt;{{}}&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.11] Santa&#39;s Pie</title>
      <link>https://blog.gk.wtf/hv23/santas_pie/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_pie/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Forensic&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: coderion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa baked you a pie with hidden ingredients!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.gk.wtf/images/11_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Zsteg doesn&amp;rsquo;t reveal anything of interest, however when looking at the numerical red values per pixel, we get the following:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;3 | 1 | 4 | 1 | 5 | 9 | 2 | 6 | 5 | 3 | ...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Looks a lot like pi&amp;hellip; The second pixel is just image data for the pie image and the third pixel seems like it contains random values.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.11] unsanta</title>
      <link>https://blog.gk.wtf/hv23/unsanta/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/unsanta/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Cryptography&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: kuyaya&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To train his skills in cybersecurity, Grinch has played this year&amp;rsquo;s SHC qualifiers. He was inspired by the cryptography challenge &lt;code&gt;unm0unt41n&lt;/code&gt; (can be found &lt;a href=&#34;https://library.m0unt41n.ch/&#34;&gt;here&lt;/a&gt;) and thought he might play a funny prank on Santa. Grinch is a script kiddie and stole the malware idea and almost the whole code. Instead of using the original encryption malware from the challenge though, he improved it a bit so that no one can recover his secret!
Luckily, Santa had a backup of one of the images. Maybe this can help you find the secret and recover all of Santa&amp;rsquo;s lost data&amp;hellip;?&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.13] Santa&#39;s Router</title>
      <link>https://blog.gk.wtf/hv23/santas_router/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_router/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Cryptography&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: fabi_07&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa came across a weird service that provides something with signatures of a firmware. He isn&amp;rsquo;t really comfortable with all that crypto stuff, can you help him with this?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The security issue lies in the &lt;code&gt;hashFile&lt;/code&gt; function:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;hashFile&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fileContent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;bytes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;hash&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fileContent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;len&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fileContent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;fileContent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;j&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;hash&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;^=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;sum&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;hash&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;As &lt;code&gt;XOR&lt;/code&gt; is used to add every byte to the hash, this means we get &lt;code&gt;0&lt;/code&gt; again when we have the same byte twice. As tht &lt;code&gt;zipfile&lt;/code&gt; module just ignores leading data and tries to use the last zip signature we can create a payload of  &lt;code&gt;&amp;lt;original zip&amp;gt; &amp;lt;evil zip&amp;gt; &amp;lt;evil zip&amp;gt;&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.14] Crypto Dump</title>
      <link>https://blog.gk.wtf/hv23/crypto_dump/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/crypto_dump/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Reverse Engineering, Cryptography, Forensic&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: LogicalOverflow&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To keep today&amp;rsquo;s flag save, Santa encrypted it, but now the elf cannot figure out how to decrypt it. The tool just crashes all the time. Can you still recover the flag?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After reverse engineering the binary and identifying the encrypted flag is in &lt;code&gt;r13&lt;/code&gt; and the key in  &lt;code&gt;r15&lt;/code&gt; we can load it into gdb together with the coredump:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ gdb -q flagsave coredump
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pwndbg&amp;gt; info registers
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rax            0x0                 &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rbx            0x2b                &lt;span class=&#34;m&#34;&gt;43&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rcx            0x9f5be40e          &lt;span class=&#34;m&#34;&gt;2673599502&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rdx            0x3                 &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rsi            0x8                 &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rdi            0x8                 &lt;span class=&#34;m&#34;&gt;8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rbp            0x7ffeef3dd718      0x7ffeef3dd718
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rsp            0x7ffeef3dd660      0x7ffeef3dd660
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r8             0x3c                &lt;span class=&#34;m&#34;&gt;60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r9             0x7fc80c16f520      &lt;span class=&#34;m&#34;&gt;140497173017888&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r10            0x3c                &lt;span class=&#34;m&#34;&gt;60&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r11            0x40cbb7            &lt;span class=&#34;m&#34;&gt;4246455&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r12            0x7fc80c170030      &lt;span class=&#34;m&#34;&gt;140497173020720&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r13            0x7fc80c16f040      &lt;span class=&#34;m&#34;&gt;140497173016640&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r14            0x40c0fb            &lt;span class=&#34;m&#34;&gt;4243707&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;r15            0x7ffeef3dd670      &lt;span class=&#34;m&#34;&gt;140732912227952&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rip            0x40113a            0x40113a &amp;lt;main+250&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;eflags         0x10246             &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; PF ZF IF RF &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cs             0x33                &lt;span class=&#34;m&#34;&gt;51&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ss             0x2b                &lt;span class=&#34;m&#34;&gt;43&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ds             0x0                 &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;es             0x0                 &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fs             0x0                 &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gs             0x0                 &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fs_base        0x4136d8            &lt;span class=&#34;m&#34;&gt;4273880&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gs_base        0x0                 &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pwndbg&amp;gt; x/44xb 0x7fc80c16f040
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7fc80c16f040: 0xaf 0x71 0x38 0xad 0x96 0x08 0xc9 0x14
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7fc80c16f048: 0xbe 0xbd 0xfe 0x19 0xbe 0x9f 0x28 0x25
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7fc80c16f050: 0xbd 0x98 0xa7 0x0f 0xfd 0x3a 0x45 0x58
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7fc80c16f058: 0x18 0x8f 0x8d 0x8e 0xf8 0xbb 0x15 0x66
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7fc80c16f060: 0x73 0x5f 0x0b 0x61 0x81 0x35 0xbe 0xb5
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7fc80c16f068: 0x0d 0x80 0xc9 0x00
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pwndbg&amp;gt; x/40xb 0x7ffeef3dd670
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7ffeef3dd670: 0x9b 0xaf 0x7d 0x5c 0xac 0x41 0x41 0xc8
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7ffeef3dd678: 0xcb 0x8c 0xfa 0x3f 0xd2 0x70 0xfc 0x4b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7ffeef3dd680: 0xee 0xa0 0xcd 0x54 0x0a 0x54 0x25 0x0a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7ffeef3dd688: 0xd8 0x8f 0x8f 0x94 0xcb 0x40 0x0f 0x91
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0x7ffeef3dd690: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then, converting these results into a python script:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.15] pREVesc</title>
      <link>https://blog.gk.wtf/hv23/prevesc/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/prevesc/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Reverse Engineering, Linux&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: coderion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We recently changed the root password for santa as he always broke our system. However, I think he has hidden some backdoor in there. Please help us find it to save christmas!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s check for suspicious SUID binaries:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ find / -perm -u&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;s -type f -printf &lt;span class=&#34;s2&#34;&gt;&amp;#34;%c %p\n&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.4223715090 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/chfn
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.4283715360 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/chsh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.5413720460 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/gpasswd
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.6493725340 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/mount
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.6563725660 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/newgrp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:56:40.6374276490 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.8133732750 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/su
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:42:01.8493734380 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/bin/umount
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:56:42.2574356380 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/lib/dbus-1.0/dbus-daemon-launch-helper
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Thu Dec &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; 22:56:42.2944358200 &lt;span class=&#34;m&#34;&gt;2023&lt;/span&gt; /usr/lib/openssh/ssh-keysign
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Looks like the &lt;code&gt;passwd&lt;/code&gt; binary has been modified. After copying it to the local machine, we can look at it using binary ninja:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.16] Santa&#39;s Gift Factory</title>
      <link>https://blog.gk.wtf/hv23/santas_gift_factory/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_gift_factory/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Exploitation&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: fabi_07&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Did you know that Santa has its own factory for making gifts? Maybe you can exploit it to get your own special gift!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There is a vulnerable &lt;code&gt;gets&lt;/code&gt;+ &lt;code&gt;printf&lt;/code&gt; in &lt;code&gt;tellflag&lt;/code&gt; that allows us to both leak the memory offsets of the binary and libc, and do ROP.&lt;/p&gt;
&lt;p&gt;As the flag gets replaced after getting to that point in code though, we have to follow a different approach:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.17] Lost Key</title>
      <link>https://blog.gk.wtf/hv23/lost_key/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/lost_key/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories&lt;/strong&gt;: Cryptography, Forensics&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: darkstar&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;After losing another important key, the administrator sent me a picture of a key as a replacement. But what should I do with it?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.gk.wtf/images/17_1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;We get a large &lt;code&gt;flag.enc&lt;/code&gt; and that picture of a key. Upon running exiftool on the image, we can see the following:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Comment                         : Key Info: 0x10001&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So we&amp;rsquo;re probably dealing with RSA here, &lt;code&gt;0x10001&lt;/code&gt; is the most common used public exponent &lt;code&gt;e&lt;/code&gt;, probably more common known in decimal: &lt;code&gt;65537&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.18] Evil USB</title>
      <link>https://blog.gk.wtf/hv23/evil_usb/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/evil_usb/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Reverse Engineering&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: coderion&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;An engineer at SantaSecCorp has found a suspicious device stuck in the USB port of his computer. It doesn&amp;rsquo;t seem to work anymore, but we managed to dump the firmware for you. Please help us find out what the device did to their computer.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We get a &lt;code&gt;firmware.elf&lt;/code&gt; that we can open in Ghidra as &lt;code&gt;AVR8&lt;/code&gt; 16-Bit.&lt;/p&gt;
&lt;p&gt;It looks like there is some XOR with &lt;code&gt;0x69&lt;/code&gt; happening:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.19] Santa&#39;s Minecraft Server</title>
      <link>https://blog.gk.wtf/hv23/santas_minecraft_server/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_minecraft_server/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Categories:&lt;/strong&gt; Linux, Penetration Testing&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: nichtseb&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa likes to play minecraft. His favorite version is 1.16. For security reasons, the server is not publicly accessible. But Santa is a little show-off, so he has an online map to brag about his fabulous building skills.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We get access to a &lt;a href=&#34;https://github.com/webbukkit/dynmap&#34;&gt;dynmap&lt;/a&gt; web interface. The mentioned version 1.16 is vulnerable to the &lt;a href=&#34;https://en.wikipedia.org/wiki/Log4j&#34;&gt;log4j&lt;/a&gt; exploit.&lt;/p&gt;
&lt;p&gt;Dynmap has a chat box that we can utilize to exploit the log4j vulnerability using &lt;a href=&#34;https://github.com/kozmer/log4j-shell-poc&#34;&gt;this PoC&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.20] Santa&#39;s Candy Cane Machine</title>
      <link>https://blog.gk.wtf/hv23/santas_candy_cane_machine/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_candy_cane_machine/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Reverse Engineering&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: keep3r&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As Santa wanted to start producing Candy Canes for this years christmas season, his machine wouldn&amp;rsquo;t work anymore. All he got was some error message about an &amp;ldquo;expired license&amp;rdquo;. Santa tried to get support from the manufacturer. Unfortunately, the company is out of business since many years.
One of the elves already tried his luck but all he got out of the machine was a &lt;code&gt;.dll&lt;/code&gt;!
Can you help Santa license his Candy Cane machine and make all those kids happy for this years christmas?&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.21] Shopping List</title>
      <link>https://blog.gk.wtf/hv23/shopping_list/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/shopping_list/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Exploitation&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: fabi_07&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa still needs to buy some gifts, but he tends to forget things easily. That&amp;rsquo;s why he created his own application: A shopping list with state-of-the-art hacker protection.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For this one, there is an unintended solution.
As the binary allows us an arbitrary write to a file, we can overwrite the binary itself with some bash.&lt;/p&gt;
&lt;p&gt;We can&amp;rsquo;t just store a bash script though, as the list follows some format.
Due to the way bash performs shell expansion before evaluating the rest, we can just use &lt;code&gt;$(echo cat flag &amp;gt; vuln)&lt;/code&gt; as the name of the item and save it as &lt;code&gt;vuln&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.22] Secure Gift Wrapping Service</title>
      <link>https://blog.gk.wtf/hv23/secure_gift_wrapping_service/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/secure_gift_wrapping_service/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Leet&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Exploitation&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: darkice&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This year, a new service has been launched to support the elves in wrapping gifts. Due to a number of stolen gifts in recent days, increased security measures have been introduced and the gifts are being stored in a secret place. As Christmas is getting closer, the elves need to load the gifts onto the sleigh, but they can&amp;rsquo;t find them. The only hint to this secret place was probably also packed in one of these gifts. Can you take a look at the service and see if you can find the secret?&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.23] Roll your own RSA</title>
      <link>https://blog.gk.wtf/hv23/roll_your_own_rsa/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/roll_your_own_rsa/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Leet&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category:&lt;/strong&gt; Cryptography&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Author&lt;/strong&gt;: cryze&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa wrote his own script to encrypt his secrets with RSA. He got inspired from the windows login where you can specify a hint for your password, so he added a hint for his own software. This won&amp;rsquo;t break the encryption, will it?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;As I had no idea about cryptography, I went to &lt;a href=&#34;https://chat.openai.com/share/ad417357-42b0-4f4a-8b1b-28e8d2b9359e&#34;&gt;ask ChatGPT&lt;/a&gt;. To my surprise it gave me a working solve script:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.H1] Kringle&#39;s Secret</title>
      <link>https://blog.gk.wtf/hv23/kringles_secret/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/kringles_secret/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Fun&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Can you feel it? I feel like there&amp;rsquo;s a&amp;hellip; hidden flag in one of the easy challenges!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The hidden flag for the easy category is in the &lt;strong&gt;[HV23.06]&lt;/strong&gt; challenge.
Running &lt;code&gt;zsteg&lt;/code&gt; on the wallpaper reveals the flag:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ zsteg wallpaper.png
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;b1,rgb,lsb,xy       .. text: &lt;span class=&#34;s2&#34;&gt;&amp;#34;HV23{no_ctf_without_stego}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.H2] Grinch&#39;s Secret</title>
      <link>https://blog.gk.wtf/hv23/grinchs_secret/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/grinchs_secret/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Fun&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Santa usually only gifts one present per kid, but one of his elves accidentally put two presents in the bag for a single kid! Somewhere in the medium challenges, you can find the second gift.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The flag is hidden in the &lt;strong&gt;[HV23.11]&lt;/strong&gt; challenge. The alternations of &amp;ldquo;Never gonna give you up.&amp;rdquo; and &amp;ldquo;Never gonna let you down.&amp;rdquo; represent a &lt;code&gt;0&lt;/code&gt; or &lt;code&gt;1&lt;/code&gt; respectively.&lt;/p&gt;
&lt;p&gt;We can update the solve script to include the hidden flag:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HackVent 2023 - [HV23.H3] Santa&#39;s Secret</title>
      <link>https://blog.gk.wtf/hv23/santas_secret/</link>
      <pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://blog.gk.wtf/hv23/santas_secret/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Hard&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Category&lt;/strong&gt;: Fun&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Not once, not twice, but three times Santa has hidden something in one of his gifts now!? Unbelievable&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The flag is hidden in the &lt;strong&gt;[HV23.20]&lt;/strong&gt; challenge. There is a &lt;code&gt;productName&lt;/code&gt; and &lt;code&gt;productType&lt;/code&gt; enum for the keys.
If we manage to generate a key of name &lt;code&gt;CandyCaneMachine2000&lt;/code&gt; and type &lt;code&gt;Premium&lt;/code&gt;, we get the hidden flag on activation instead.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve added a check to the original solution script to continue generating until such a key is found:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
