<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Writing — Henri van Schaik</title><description>Write-ups on what I build, what I break and what I investigate.</description><link>https://willemlab.org/</link><language>en-za</language><item><title>PortSwigger lab: SQL injection UNION attack, retrieving data from other tables</title><link>https://willemlab.org/writing/portswigger-sqli-union/</link><guid isPermaLink="true">https://willemlab.org/writing/portswigger-sqli-union/</guid><description>Working out the column count, finding a text column, and pulling the users table, with the parameterised fix.</description><pubDate>Wed, 30 Jun 2027 00:00:00 GMT</pubDate><category>break</category></item><item><title>Adding security scanning to a Go pipeline</title><link>https://willemlab.org/writing/security-scanning-go-pipeline/</link><guid isPermaLink="true">https://willemlab.org/writing/security-scanning-go-pipeline/</guid><description>govulncheck, gosec and an image scan in GitHub Actions, what each one caught on Catchment, and the false positive I suppressed.</description><pubDate>Mon, 24 May 2027 00:00:00 GMT</pubDate><category>build</category><category>break</category></item><item><title>Threat modelling a home water system</title><link>https://willemlab.org/writing/threat-modelling-home-water/</link><guid isPermaLink="true">https://willemlab.org/writing/threat-modelling-home-water/</guid><description>STRIDE on a system with a borehole pump, two tanks and a Go API, and why the pump relay is the asset that matters most.</description><pubDate>Mon, 19 Apr 2027 00:00:00 GMT</pubDate><category>design</category></item><item><title>Catchment phase 1: replacing a handwritten rain log</title><link>https://willemlab.org/writing/catchment-phase-1/</link><guid isPermaLink="true">https://willemlab.org/writing/catchment-phase-1/</guid><description>What I built in phase 1, why it’s plain Go and SQLite, and what the first month of real rain data showed.</description><pubDate>Sun, 28 Mar 2027 00:00:00 GMT</pubDate><category>build</category></item><item><title>Anatomy of a compromised WordPress site</title><link>https://willemlab.org/writing/anatomy-compromised-wordpress/</link><guid isPermaLink="true">https://willemlab.org/writing/anatomy-compromised-wordpress/</guid><description>Three discovery waves, 23 malicious files and one attacker toolkit, worked through with PICERL.</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><category>investigate</category></item></channel></rss>