<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Research on Skelmis</title>
    <link>https://skelmis.co.nz/tags/research/</link>
    <description>Recent content in Research on Skelmis</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 31 Dec 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://skelmis.co.nz/tags/research/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>C# Path&#39;ing May Not Work As You Expect</title>
      <link>https://skelmis.co.nz/posts/c_sharp-pathing/</link>
      <pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://skelmis.co.nz/posts/c_sharp-pathing/</guid>
      <description>Background Link to heading During a security review this year I stumbled across some C# that at a glance looked fine. Turns out however it actually contained path traversal which was by design (of the language). After asking some of my friends who are familiar with C# they also went &amp;lsquo;huh thats weird&amp;rsquo; so I figured I&amp;rsquo;d make this and share with you all.&#xA;TLDR Link to heading If you are reviewing C# and come across Path.</description>
    </item>
    <item>
      <title>PNG to RCE: Faking files to bypass server side validation</title>
      <link>https://skelmis.co.nz/posts/file-faking/</link>
      <pubDate>Sat, 20 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://skelmis.co.nz/posts/file-faking/</guid>
      <description>Recently during some personal research I came across a very interesting avenue for remote code execution (RCE). The program let you provide one argument to the command line before appending some flags after. Now it wasn&amp;rsquo;t &amp;ldquo;one&amp;rdquo; escapable argument, but was actually only one argument much to my disappointment.&#xA;Due to this, we are unlikely to LOLBIN our way out of the situation. So instead, let&amp;rsquo;s talk about a tale of bypassing theoretical file validation within some file upload and how to convince Linux to then run arbitrary code via said file when the rough following command is typed into a shell!</description>
    </item>
    <item>
      <title>Fun with USB rubber duckies</title>
      <link>https://skelmis.co.nz/posts/rubber-duckys/</link>
      <pubDate>Fri, 06 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://skelmis.co.nz/posts/rubber-duckys/</guid>
      <description>After attending BSides Canberra I managed to get one of the DigiSparks from Redacted who offered them up as a sort of home brew USB rubber ducky. Kudos to Tomais for actually getting me one.&#xA;The DigiSpark for reference:&#xA;Naturally I wanted to have some fun with it, and being primarily a linux user I developed the payload with that in mind. It took a fair amount of trial and error, but I ended up with a payload that was able to pull a script from this site, download it and execute.</description>
    </item>
    <item>
      <title>CVE-2023-41885 - Piccolo time based user enumeration</title>
      <link>https://skelmis.co.nz/posts/cve-2023-41885/</link>
      <pubDate>Mon, 18 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://skelmis.co.nz/posts/cve-2023-41885/</guid>
      <description>It started as &amp;ldquo;bring password hashing inline with industry best practices&amp;rdquo; and two weeks later ended as &amp;ldquo;BaseUser.login implementation is vulnerable to time based user enumeration&amp;rdquo;. So here&amp;rsquo;s how a PR to bring a package inline with security best practices lead to a CVE.&#xA;Recently I moved, and am still in the processing of moving my websites to an ORM called Piccolo which provides a nice database layer, batteries included approach to working with FastAPI while allowing me; a former Django developer; the ability to easily build data driven platforms without the need to write SQL.</description>
    </item>
    <item>
      <title>Lets talk time based user enumeration</title>
      <link>https://skelmis.co.nz/posts/tbue/</link>
      <pubDate>Sat, 22 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://skelmis.co.nz/posts/tbue/</guid>
      <description>I discovered some time based user enumeration in the wild with some pretty nice implications, so let&amp;rsquo;s discuss them.&#xA;So firstly, what is time based user enumeration or tbue as I will refer to it for the rest of this post?&#xA;Essentially tbue occurs in sites which do not return constant time responses regardless of if an account exists or not. You can think of it roughly speaking as the following code block:</description>
    </item>
  </channel>
</rss>
