<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>srdusr</title><link>https://srdusr.com/</link><description>Portfolio of Trevor Gray (srdusr) – a multidisciplinary developer &amp; security researcher working on cybersecurity and development.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://srdusr.com/index.xml" rel="self" type="application/rss+xml"/><item><title>A Git Server Is Two Packages and a Location Block</title><link>https://srdusr.com/blog/a-git-server-is-two-packages/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/a-git-server-is-two-packages/</guid><description>Self-hosting git needs no forge. git ships the server, nginx already speaks CGI, and the whole thing is about twenty lines of config. The one hard part is file ownership, and it will not tell you clearly that it is the problem.</description><category>Security</category></item><item><title>Hardening a Small Server Without Making It Unusable</title><link>https://srdusr.com/blog/hardening-a-small-server/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/hardening-a-small-server/</guid><description>A single box running a couple of sites does not need a security programme. It needs about a dozen specific things done, and two of them are traps that look done when they are not.</description><category>Security</category></item><item><title>Recon Is a Loop, Not a Pass</title><link>https://srdusr.com/blog/recon-is-a-loop/</link><pubDate>Fri, 21 Aug 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/recon-is-a-loop/</guid><description>Enumeration is not something you finish and move on from. Every credential and hostname you find sends you back to enumerate something new, so the surface grows as you work.</description><category>Security</category></item><item><title>HTB Active: Two Credential Failures and No Exploit at All</title><link>https://srdusr.com/blog/writeups/htb-active/</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-active/</guid><description>A GPP password in a readable SYSVOL copy, then a domain administrator with a service principal name. Nothing here is a CVE - everything here is a misconfiguration somebody made on purpose.</description></item><item><title>Defending Yourself With What You Know About Attackers</title><link>https://srdusr.com/blog/personal-digital-security/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/personal-digital-security/</guid><description>The attacks I read about for work arrive at ordinary people every day. What I actually do about that, in the order the effort pays back.</description><category>Security</category></item><item><title>Turning a Dumb Shell Into a Real TTY</title><link>https://srdusr.com/blog/upgrading-a-dumb-shell/</link><pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/upgrading-a-dumb-shell/</guid><description>A raw reverse shell has no tab completion, no arrow keys, no job control, and dies the moment you press Ctrl-C. The upgrade takes three steps, and it is worth doing before anything else.</description><category>Security</category></item><item><title>HTB Valentine: Heartbleed in a Loop, Then Somebody Else's tmux</title><link>https://srdusr.com/blog/writeups/htb-valentine/</link><pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-valentine/</guid><description>Heartbleed used properly - not "the scanner says vulnerable" but dumping memory repeatedly until a passphrase falls out. Root is not an exploit at all: a root process left its tmux socket group-readable.</description></item><item><title>Notes on Film</title><link>https://srdusr.com/blog/gallery/notes-on-film/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/notes-on-film/</guid><description>Slower, more deliberate, and okay with getting it wrong sometimes - what shooting film teaches that digital doesn't.</description></item><item><title>Through the Viewfinder</title><link>https://srdusr.com/blog/gallery/through-the-viewfinder/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/through-the-viewfinder/</guid><description>A few frames from wherever the light happened to be good - streets, skylines, and the in-between moments.</description></item><item><title>Tests Cannot See the State the Machine Already Has</title><link>https://srdusr.com/blog/tests-cannot-see-what-the-machine-already-has/</link><pubDate>Wed, 08 Apr 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/tests-cannot-see-what-the-machine-already-has/</guid><description>Code that creates a precondition stops being exercised the moment it succeeds. On the machine where setup already ran, the setup path can break completely and stay green.</description><category>Development</category></item><item><title>HTB Shocker: The Trailing Slash Is the Box</title><link>https://srdusr.com/blog/writeups/htb-shocker/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-shocker/</guid><description>The exploit is trivial once you find the script. Finding the script is the box, and the reason it is hard is a real Apache configuration detail that breaks default directory brute forcing.</description></item><item><title>En Garde</title><link>https://srdusr.com/blog/gallery/en-garde/</link><pubDate>Wed, 18 Mar 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/en-garde/</guid><description>Fencing is the other discipline that rewards patience over aggression - notes and the odd bout photo, once there's a decent camera at the strip.</description></item><item><title>Encryption Gives Confidentiality, Not Integrity</title><link>https://srdusr.com/blog/encryption-is-not-integrity/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/encryption-is-not-integrity/</guid><description>Hiding data is not the same as proving nobody changed it. Treating the first as the second is the root of a whole class of real vulnerabilities.</description><category>Security</category></item><item><title>Home Lab Build Log</title><link>https://srdusr.com/blog/gallery/home-lab-build-log/</link><pubDate>Sun, 22 Feb 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/home-lab-build-log/</guid><description>Rack photos and the occasional cable-management disaster from the SIEM/IDS lab mentioned on the about page.</description></item><item><title>HTB Granny: An Extension Blocklist That Does Not Cover Rename</title><link>https://srdusr.com/blog/writeups/htb-granny/</link><pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-granny/</guid><description>The upload filter blocks PUT of an .aspx and allows MOVE of anything. That is the whole foothold, and it generalises: a blocklist that does not cover rename is not a control.</description></item><item><title>Margin Notes</title><link>https://srdusr.com/blog/gallery/margin-notes/</link><pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/margin-notes/</guid><description>Whatever gets sketched in the margins while waiting on a scan to finish - not art, just doodles that survived.</description></item><item><title>Counting Your Shell History Can Execute It</title><link>https://srdusr.com/blog/zsh-arithmetic-subscript-executes/</link><pubDate>Mon, 19 Jan 2026 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/zsh-arithmetic-subscript-executes/</guid><description>In zsh, an array subscript inside arithmetic context is evaluated as an arithmetic expression, so it performs command substitution. Tallying strings into an associative array runs them.</description><category>Security</category></item><item><title>HTB Jerry: A Tomcat Manager and One Guessed Password</title><link>https://srdusr.com/blog/writeups/htb-jerry/</link><pubDate>Sun, 28 Dec 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-jerry/</guid><description>Possibly the easiest box on HTB, and it teaches one thing worth keeping: a Tomcat Manager with default credentials is remote code execution as whatever runs Tomcat, which on Windows is usually SYSTEM.</description></item><item><title>Reading List</title><link>https://srdusr.com/blog/gallery/reading-list/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/reading-list/</guid><description>Whatever's currently open on the nightstand - security, fiction, whatever isn't a man page for once.</description></item><item><title>Thorough Enumeration Beats Clever Exploitation</title><link>https://srdusr.com/blog/enumeration-beats-exploitation/</link><pubDate>Tue, 02 Dec 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/enumeration-beats-exploitation/</guid><description>When a box is stuck, the answer is almost never a more advanced technique. The winning path was usually visible at hour one and dismissed.</description><category>Security</category></item><item><title>HTB Blue: EternalBlue, With and Without Metasploit</title><link>https://srdusr.com/blog/writeups/htb-blue/</link><pubDate>Sat, 29 Nov 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-blue/</guid><description>One CVE, no privilege escalation, done in five minutes. The value is not the solve - it is that MS17-010 is the most consequential SMB bug of the last decade and this is the safest place to watch it work.</description></item><item><title>Vulnerabilities Cluster at Trust Boundaries</title><link>https://srdusr.com/blog/trust-boundaries/</link><pubDate>Fri, 14 Nov 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/trust-boundaries/</guid><description>Name the point where data crosses into more trust and you have usually named the missing defence. Where that lens covers almost everything, and where it stops working.</description><category>Security</category></item><item><title>Late Shift</title><link>https://srdusr.com/blog/gallery/late-shift/</link><pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/gallery/late-shift/</guid><description>Whatever the city looks like at the hour most people have already gone to bed - the same hours a lot of the actual work happens in.</description></item><item><title>HTB Lame: Four Vulnerable Services, Two of Them Traps</title><link>https://srdusr.com/blog/writeups/htb-lame/</link><pubDate>Tue, 07 Oct 2025 00:00:00 +0000</pubDate><guid>https://srdusr.com/blog/writeups/htb-lame/</guid><description>The first HTB machine, and a lesson in ruling things out. It shows four vulnerable-looking services: two are dead ends, one is a clean root, and one is a foothold with three separate escalations.</description></item></channel></rss>