Well, this is certainly overdue. It's the writeup for a challenge I authored for
this year's UMass CTF, which ran from October 5th to October 12th. Yes, I'm
late. But when you attend a university that tried very hard to squeeze the
entire semester twelve weeks, you're going to deal with burnout and not nearly
enough time to do things outside of your coursework. So I'm finally coming back
to the challenge now that the semester's ended.
read more →
It's typical for the younger sibling to look up to and mimic the older sibling,
which is apparently what happened while I was away at school. I'm self-hosting a
few services off of a Raspberry Pi B+ back at my parents' house, and when my
brother got a Pi of his own, he decided that he also wanted to use it for
self-hosting. Unfortunately, he doesn't know much about security, and
unintentionally did me the favor of setting up a honeypot.
read more →
If you're about my age and had a similarly dull upbringing, you probably also
have memories of playing video games behind a teacher's back whenever class
involved going to some sort of "computer lab." Flash games were the thing when I
was in elementary school, and when I was in middle school, I'd bring Quake with
me on a flash drive. By the time I was in high school, I'd realized that these
opportunities were better spent getting a head start on homework for other
classes, but I did have a few friends who still passed the time playing video
games. Rather than Flash games or Quake, though, these were browser games using
the new-fangled HTML5 canvas. I'd practically forgotten these games existed
until someone from my capture-the-flag team mentioned "krunker.io". Apparently
it's one of the more popular ones. It got me thinking about how I'd go about
writing cheats for a game in the browser. Writing cheats for CS:GO was a breeze,
so why would this be any harder? I had some time to spare over winter break, so
I decided to give it a go and see what kind of damage I could do.
read more →
This is the fourth and final set of for my self-imposed challenge of completing
at least fifty of the exercises on Dennis Yurichev's challenges.re by the end of
the year. The previous set is available here.
read more →
This is the third set of solutions for my self-imposed challenge of completing
at least fifty of the exercises on Dennis Yurichev's challenges.re by the end of
the year. The previous set is available here.
read more →
Hey, there! I'm Jakob, a Google Summer of Code intern and new contributor to
Guix. Since May, I've been working on a DevOps automation tool for the Guix
System, which we've been calling guix deploy.
read more →
This is the second set of solutions for my self-imposed challenge of completing
at least fifty of the exercises on Dennis Yurichev's challenges.re by the end of
the year. The first set is available here.
read more →
Rather than study for finals this week, I spent my time moving this blog over to
Haunt. Previously, I was using Hugo, and while ox-hugo made the authoring
workflow tolerable, doing anything on the rendering side of things was unsavory
at best. I eventually had enough and decided to look for another solution, of
which Haunt was the most enticing.
read more →
My long-lived hiatus from capture-the-flag has come to an end, as I got off my
ass this weekend to play in PlaidCTF 2019. Being a one-man team is pretty
lonely, but my old team wasn't playing, and even if they were, I don't know if I
would've wanted to make the commute just to play with them.
read more →
As mentioned in the (now deleted) post I wrote describing my plans for 2019, one
of my goals this year is to get through at least 50 of the exercises on Dennis
Yurichev's challenges.re. I've decided to document my progress in the form of
writeups for the challenges I complete, batched in sets of ten exercises. For
each challenge, I'll try to explain the intuitions that brought me closer to
answering the recurring question from Yurichev, "[w]hat does this code do?"
read more →