<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on billpg industries™</title><link>https://owl.billpg.com/tags/security/</link><description>Recent content in Security on billpg industries™</description><generator>Hugo</generator><language>en-us</language><copyright>© William Godfrey.</copyright><lastBuildDate>Sat, 05 Sep 2026 14:41:07 +0000</lastBuildDate><atom:link href="https://owl.billpg.com/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>I Wrote a NuGet Package!</title><link>https://owl.billpg.com/i-wrote-a-nuget-package/</link><pubDate>Sat, 05 Sep 2026 14:41:07 +0000</pubDate><guid>https://owl.billpg.com/i-wrote-a-nuget-package/</guid><description>&lt;p&gt;I’ve been working a little in the world of &lt;strong&gt;HTTP Authentication&lt;/strong&gt;. When you connect a system to another system, there’s usually a set of tokens that get passed around and managed and sometimes accidentally pushed to a public git repo.&lt;/p&gt;
&lt;p&gt;When you try to connect to a website that requires a user login, you’ll be sent back a &lt;strong&gt;&lt;code&gt;401&lt;/code&gt;&lt;/strong&gt; response with a &lt;strong&gt;&lt;code&gt;WWW-Authenticate:&lt;/code&gt;&lt;/strong&gt; header. Except you won’t. You’ll be sent a 302 redirect to a login page.&lt;/p&gt;</description></item><item><title>Rufus - An Adventure in Downloading</title><link>https://owl.billpg.com/rufus-an-adventure-in-downloading/</link><pubDate>Mon, 20 Oct 2025 07:17:17 +0000</pubDate><guid>https://owl.billpg.com/rufus-an-adventure-in-downloading/</guid><description>&lt;p&gt;I needed to make a bootable USB. Simple task, right? My aging Windows 10 machine couldn’t upgrade to 11 and Ubuntu seemed like the obvious next step.&lt;/p&gt;
&lt;p&gt;Downloading Rufus, the tiny tool everyone recommends, turned out to be less of a utility and more of a trust exercise. Between misleading ads, ambiguous signatures and the creeping dread of running an EXE as administrator, I found myself wondering how something so basic became so fraught?&lt;/p&gt;</description></item><item><title>I want a less powerful programming language for Christmas.</title><link>https://owl.billpg.com/i-want-a-less-powerful-programming-language-for-christmas/</link><pubDate>Wed, 12 Feb 2025 21:44:24 +0000</pubDate><guid>https://owl.billpg.com/i-want-a-less-powerful-programming-language-for-christmas/</guid><description>&lt;p&gt;I&amp;rsquo;m writing this because I&amp;rsquo;m hoping someone will respond, telling me that what I want already exists. I have a specific itch and my suspicion is that developing a whole programming language and runtime is the only way to scratch that itch.&lt;/p&gt;
&lt;p&gt;Please tell me I&amp;rsquo;m wrong.&lt;/p&gt;
&lt;h2 id="dear-father-christmas"&gt;Dear Father Christmas&amp;hellip;&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve ever written a web service, you&amp;rsquo;ve almost certainly had situations where you&amp;rsquo;ve taken a bunch of bytes from a completely untrusted stranger and passed those bytes into a JSON parser. What&amp;rsquo;s more you&amp;rsquo;ll have done that without validating the bytes first.&lt;/p&gt;</description></item><item><title>NEVER sanitize your inputs!</title><link>https://owl.billpg.com/never-sanitize-your-inputs/</link><pubDate>Sun, 08 Sep 2013 20:18:00 +0000</pubDate><guid>https://owl.billpg.com/never-sanitize-your-inputs/</guid><description>&lt;div style="clear: both; text-align: center;"&gt;
&lt;img src="https://owl.billpg.com/images/exploits_of_a_mom-300x92.png" title="No!" data-border="0" /&gt;
&lt;/div&gt;
&lt;p&gt;I&amp;rsquo;ve seen &lt;a href="http://xkcd.com/327/"&gt;this cartoon&lt;/a&gt; being linked-to in so many comment threads and forums. Anytime its even a little bit applicable, someone will post a link to this cartoon. It has become so pervasive that if you &lt;a href="https://www.google.com/search?q=327"&gt;search Google for &amp;ldquo;327&amp;rdquo;&lt;/a&gt;, it’ll be the third link returned, right after the Wikipedia pages for &lt;a href="http://en.wikipedia.org/wiki/327"&gt;the year&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/BMW_327"&gt;the car&lt;/a&gt;. &lt;a href="https://www.google.com/search?q=328"&gt;Search &amp;ldquo;328&amp;rdquo;&lt;/a&gt; and the &lt;a href="http://xkcd.com/328/"&gt;next XKCD&lt;/a&gt; is no-where to be seen. The lesson, according to this character and so many real people on the internet, is to sanitize your inputs. The school in the cartoon didn&amp;rsquo;t sanitize its inputs - and one of its database tables got deleted! Ask anyone about developing websites and they will tell you the first lesson is always to sanitize your inputs. In this day and age you&amp;rsquo;d have to be crazy not to sanitize your inputs. Trouble is, sanitizing your inputs is very bad advice.&lt;/p&gt;</description></item></channel></rss>