Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #7878

S

Staaldraad

Personal blog · staaldraad.github.iosecurityprogramming

Staaldraad is a personal blog at staaldraad.github.io about security and programming. Since 2017, 10 different Hacker News readers have linked it 11 times, most often “Universal RCE with Ruby YAML.load”. The last post was in 2024, but the archive is still widely read.

Visit the blog
11mentions?
10HN people?
2017–2024first – last linked?
Links on Hacker News per year · peak 5 in 2019

Too few sampled comments (3) to say how often HN recommends it.?

Why HN links it

HN readers link this blog for security and networking write-ups, including a WireGuard NAT-to-NAT guide and a 2019 Ruby RCE deserialization gadget chain post. Commenters mostly cite these as sources.

Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Security research and thoughts

Most-linked posts?

  1. Universal RCE with Ruby YAML.load
    2 people · 3 mentions · first linked 2019-03-02
  2. /2017/04/17/nat-to-nat-with-wireguard/
    2 people · 2 mentions · first linked 2018-09-01
  3. Netstat without netstat
    2 people · 2 mentions · first linked 2017-12-20

What Hacker News says?

  1. DCKing · 2019-11-01Recommends
    Wireguard! And a VPS and HAProxy. You can use Wireguard to do remote port forwarding. Follow a tutorial [0] to expose the home server's port on a VPS. Now use HAProxy to reverse proxy that Wireguard port to the world. [0]: https://staaldraad.github.io/2017/04/17/nat-to-nat-with-wire... - you can ignore 'NAT-B' in this one.

    Comment linking /2017/04/17/nat-to-nat-with-wireguard/

    on “Setting up a home VPN server with WireGuard”
  2. Submitted Netstat without netstat as a story · 138 points

    HN discussion
  3. Admittedly, I haven't gotten around to actually using WireGuard yet, but I think it's pretty much as simple as Linuskendall said. https://www.wireguard.com/quickstart/#nat-and-firewall-trave... Also see this guide on using a public VPS with a Wireguard server to share resources behind two different NAT'd networks: https://staaldraad.github.io/2017/04/17/nat-to-nat-with-wire...

    Comment linking /2017/04/17/nat-to-nat-with-wireguard/

    on “Security Analysis of WireGuard [pdf]”
  4. Submitted CVE-2020-25695 Privilege Escalation in PostgreSQL as a story · 3 points

    HN discussion
  5. The same gadget chain can alsobe used to exploit YAML.load [0] with the following: --- !ruby/object:Gem::Requirement requirements: !ruby/object:Gem::DependencyList specs: - !ruby/object:Gem::Source::SpecificFile spec: &1 !ruby/object:Gem::StubSpecification loaded_from: "|id 1>&2" - !ruby/object:Gem::Source::SpecificFile spec: [0] https://staaldraad.github.io/post/2019-03-02-universal-rce-r...

    Comment linking /post/2019-03-02-universal-rce-ruby-yaml-load/

    on “Ruby 2.x Universal RCE Deserialization Gadget Chain (2018)”
  6. Submitted CVE-2018-11235 Git Remote Code Execution as a story · 2 points

    HN discussion
  7. Submitted Thoughts on Threat Modeling – Staaldraad as a story · 1 points

    HN discussion
  8. Submitted netstat without netstat (2017) as a story · 1 points

    HN discussion
  9. Submitted Argument injection and getting past shellwords.escape as a story · 1 points

    HN discussion
  10. Submitted Universal RCE with Ruby YAML.load as a story · 1 points

    HN discussion
  11. Submitted Universal RCE with Ruby YAML.load as a story · 1 points

    HN discussion

Search all of HN for staaldraad.github.io

Linked by the same people?