The Curious Engineer

All blogs / Security

Joshua Rogers’ Scribbles

joshua.hu

Joshua Rogers is an Australian technologist, sysadmin, security engineer, and pentester sharing long-form writeups on hacking, binary web and infra security, programming, technology, politics, and life itself.

SecurityLinux / UnixAI / ML

Posts
119 from 14 Apr 2022 to 22 Oct 2026
Posting
weekly (27 in the last year)
Kind
personal blog
Feed
https://joshua.hu/feed.xml

2026 22

  1. Automatically re-requesting a team and user review on GitHub review dismissal
  2. RCE (kind of) in Transmission BitTorrent’s daemon
  3. Lessons from using sanitizers as an oracle for LLM vulnerability triage
  4. Being silly is the whole point
  5. A natural life
  6. HtmlSanitizer bypass via a second body tag
  7. Two parse5 bugs: text turning into HTML, and a two-character crash
  8. 4 jsoup vulnerabilities
  9. Design taste in the age of LLMs: visualizing CVE data
  10. On self-imposed constraints and shame
  11. 33 Vulnerabilities in cJSON
  12. Hacking fun with zip-slips, tar-slips, symlinks, hardlinks, collisions, and more
  13. Magic Switch: Share a Magic Keyboard & Trackpad Between Two Macs (Free)
  14. Exploring "Bus Tours" of Nintendo and Sega: The Nintendo Challenger, Campus Challenge, and More.
  15. Some Thoughts on Cross-Cultural Video Game and Music
  16. Video Game History Around The World: An Essay.
  17. Video Games Around The World: South Africa
  18. Always 'Copy Clean Link' when possible on Firefox, with userChrome.css
  19. Making Firefox's right-click not suck, even more, with userChrome.css
  20. Making Firefox's right-click not suck with about:config
  21. wtf is NS_ERROR_INVALID_CONTENT_ENCODING? investigating shared dictionaries and ChatGPT breakage in Firefox
  22. From gixy-ng to Gixy-Next: rescuing the nginx security scanner, Gixy, from AI slop

2025 41

  1. My 2025 Bug Bounty Stories
  2. A helicopter story
  3. Another AI slop story: ChatGPT vs. Human
  4. AI slop security engineering: Okta's nextjs-auth0 troubles
  5. Gixy-Next: an overview of a Gixy fork with updated, improved, and new checks
  6. Retrospective: AI-powered security engineers and source code scanners
  7. One-Way Sandboxed Iframes: Creating a Read-Only Iframe Sandbox That Can't Read Back
  8. Network Security: Absurdity of Shared NICs with BMCs and Management Networks
  9. body: A bash script to get the middle of a file, instead of head | tail
  10. CCBot: Chrome Checker Bot for Chrome Security Releases
  11. ipgrep: grepping for ip addresses
  12. Flattening Arrays, Tail Call Recursion, and Stack Overflows in JavaScript
  13. Breaking decompilers with single-function, and no-main() C codebases
  14. Securely Validating Domain Names with Regular Expressions
  15. Swapping/Remapping the silcrow (§) key for a tilde on international Macbooks
  16. Bypassing Zscaler, Kandji MDM, and Apple Business Manager for Fun and Lulz
  17. Two infinite loop / DoS vulnerabilities in image-size
  18. NXDOMAIN'd: Catching unregistered domains for fun and profit
  19. Hacking with AI SASTs: An overview of 'AI Security Engineers' / 'LLM Security Scanners' for Penetration Testers and Security Teams
  20. A Comparison of Tools to Detect ReDoS-vulnerable Expressions
  21. Proxy Services, Hijacked Companies, and the Rabbit-Hole of Fake Hosting Companies and Big Sky Services
  22. nginx 'allow' and 'deny' directives with 'return'
  23. nginx's proxy_pass DNS caching problem
  24. On Iranian Censorship, Bypasses, Browser Extensions, and Proxies
  25. A small solution to DNS rebinding in Python
  26. Hello, Kafka Support Here, How Can I Help You? GitHub Edition
  27. Losing Sight and Vision of Your Mission and Culture: Part 3.5
  28. POV: You land at Melbourne Airport
  29. wtf Google: cacheable rss feeds are dead, and Atom feeds are delayed
  30. On being an illegal immigrant, hacking an unlimited Schengen visa, and becoming Polish
  31. Losing Sight and Vision of Your Mission and Culture: Part 3
  32. Identifying ReDoS Vulnerabilities in Nginx Configurations Using Gixy-Next
  33. LLMs are destroying art: the art of code, literature, and culture.
  34. Can Nginx Configurations Be Vulnerable to ReDoS Expressions?
  35. Extracting TLS Session Keys in Burp Proxy à la SSLKEYLOGFILE
  36. proxy_pass: nginx's Dangerous URL Normalization of Paths
  37. Debugging failures of HTTP/2 in Burp, mitmproxy, and browsers
  38. CodeQL on MacOS
  39. NodeJS, nvm, yarn, and npm on MacOS in 2025
  40. Updating FreeBSD's datetime without DNS
  41. Feedburner's Caching Problem

2024 27

  1. Some Thoughts on "Fixing Security Issues"
  2. Webcam support on a Macbook running FreeBSD using PCI passthrough
  3. Losing Sight and Vision of Your Mission and Culture: Part 2
  4. Crawling every Debian .deb package in history from snapshot.debian.org, learning the .deb format, and finding rate-limiting bypasses
  5. A Full Guide: FreeBSD 13.3 on a MacBook Pro 11.4 (Mid 2015) (A1398)
  6. Comparing different versions of AWK with WebAssembly
  7. An automatic captive-portal resolver and DNS white-lister for DNS over TLS with Unbound
  8. BCM43602: Debugging a Wifi chipset causing a whole-system hang with FreeBSD's bhyve VM
  9. Exclusive i3 keysyms for specific programs. or: Binding Escape on imagemagick's import
  10. Encrypted NTP using NTS and chrony on FreeBSD
  11. Encrypted DNS over TLS on FreeBSD with Unbound, and Blocking Unencrypted DNS Traffic
  12. Cute color progression for my battery status indicator
  13. Fuzzing scripting languages' interpreters' native functions using AFL++ to find memory corruption and more
  14. On using private browsing mode for half a year
  15. Supply chain attacks and the many (other) different ways I've backdoored your dependencies
  16. A DoS Attack in RuneScape: In 3-Dimensions!
  17. The End of Yubikeys as 2-Factor-Authentication? Google Breaks 2FA with Yubikeys in Favor of Passkeys
  18. Mounting and reading an ext4 drive on MacOS
  19. A RuneScape Hacker's Dream: An Authenticator and PIN Bypass
  20. Credential Stuffing Done Right: Some Tips
  21. Automatically Generating a Well-Tuned Fuzzing Campaign With AFL++
  22. SSH-Snake Update: Multi-IP Domain Resolution
  23. Firefox now automatically trusting the operating system's root store for TLS certificates - update: it does so only for user-added ones
  24. On the Google Account Persistence Exploit
  25. LDAP Watchdog: Real-time LDAP Monitoring for Linux and OpenLDAP
  26. SSH-Snake: Automatic traversal of networks using SSH private keys
  27. Fuzzing with memfd_create(2) and fmemopen(3)

2023 26

  1. Bash and SSH fun: SSH is eating my stdin! Or: why does my Bash script not continue after returning from a function?
  2. No new iPhone? No secure iOS: Looking at an unfixed iOS vulnerability
  3. SSH Adventures Continued: Invalid CVE-2018-15473 Patches
  4. Losing Sight and Vision of Your Mission and Culture
  5. More fun with bash: bash, ssh, and ssh-keygen version quirks
  6. Dumping bash variable values from memory using gdb
  7. Playing with SSH: carriage returns on stderr output
  8. Fuzzing glibc's libresolv's res_init()
  9. Revisiting My Old Blog
  10. Revisiting the past: Security recommendations of a 17-year-old Joshua
  11. How to DoS MySQL/MariaDB and PostgresSQL Servers With Fewer Than 55kb of Data
  12. 55 Vulnerabilities in Squid Caching Proxy and 35 0days
  13. root with a single command: sudo logrotate
  14. Fuzzing with multiple servers in parallel: AFL++ with Network File Systems
  15. CVE-2023-4863: Fallout hits Facebook; probably much much more
  16. Nagios Plugins: Hacking Monitored Servers with check_by_ssh and Argument Injection: CVE-2023-37154
  17. Tracking a secret LoginTime LDAP attribute with Operational Attributes
  18. Slack login is broken with noscript
  19. My Wrocław tourism tips and recommendations
  20. Improve nmap's service scanning with this 1 weird trick!
  21. Speeding up nmap service scanning 16x
  22. 5 Tips For Port Service Scanning 16x Faster: Part 1
  23. Describing All Kubernetes Pods of All Namespaces for Fun and Profit
  24. Stealing All of Hashicorp Vault's Secrets Using Login Enumeration
  25. Achieving persistence with a hidden SSH backdoor
  26. Attacking a temperamental ten-year-old Jenkins server

2022 3

  1. Attacking a scripting language's cryptographic functions with Wycheproof
  2. Creating an eBay crawler for fun and profit
  3. How I got into the security industry