RSSAmplifier

Blog

Jesse Li

Recent content on Jesse Li

blog.jse.liRSS feed ↗21 posts

Latest posts

Estimating the heights of New Yorkers from their scuff marks

A commuter waiting for the train leans with one foot against the wall, and their shoe leaves a mark.

Approve merge requests with your eyes closed

With the rise of vibe coding, you can (and should) open a merge request without reading it. What’s missing is being able to approve it without reading it either — or even opening your eyes.

Monitor Your Company's Stock Price on Grafana

Over the weekend, I built a way to monitor your company’s stock price on Grafana. That way, you can roll back your release if the market thinks your code sucks.

Breaking electron-store's encryption

A well-known attack on unauthenticated CBC mode allows attackers to modify encrypted config files without knowing the secret key.

Ten seconds to ponder if a thread is worth it

A userstyle that makes you wait ten seconds before entering a Hacker News thread.

The Chrome T-Rex game, except the dinosaur is you

This weekend, I modified the Chrome T-Rex game to bring it into the physical world with a projector, webcam, and computer vision magic.

My brother’s hamster

My brother got a siberian dwarf hamster in March, right before we started quarantining. He and the hamster live a few states away, and although I’ve never met her in person, tonight I got a chance to see her over Zoom.

Where Did Software Go Wrong?

Software is broken, but it’s not because of NPM, startups, AI, or venture capitalists. A deep dive into how we think about and produce code, and how our software systems reflect the manic state of the modern world.

Finding secrets by decompiling Python bytecode in public repositories

Cache rules everything around me. pyc files can contain secrets and should not be checked in to source control. Use the standard Python .gitignore .

Open and Shut

I’ve been working on a little toy project called Open and Shut, which enables you to type in Morse code by opening and shutting your laptop lid.

Building a BitTorrent client from the ground up in Go

What is the complete path between visiting thepiratebay and sublimating an mp3 file from thin air? In this post, we’ll implement enough of the BitTorrent protocol to download Debian. Look at the Source code or skip to the last bit .

You're still not anonymous on Looped

Looped fixed the bug from part 1 . That’s all they fixed.

You're not anonymous on Looped

Looped knows who you are, and so does anyone who cares to look. Avoid using it unless you understand the risks to your privacy. Read the conclusions .

Detecting incognito mode in Chrome 76 with a timing attack

FileSystem API writes are measurably faster and less noisy in incognito mode, allowing websites to detect incognito visitors by benchmarking their write speed. Results

Reversing JS Malware From marveloptics.com

The injected script steals checkout form data and sends it to a Chinese-owned domain. But the attackers are really bad at programming.

An Analysis of Cloudflare's Email Address Obfuscation

It’s a hex encoded string where the first byte (the key), is XORed against each subsequent byte to decrypt the email address. This is not a vulnerability.

Hacking Harvard (and nearly every other college)

Chaining two CSRF attacks and brute forcing the user’s birth date (upper bound = 730 requests) allowed complete account takeover.

Snow Day Calculator XSS

PHP’s type coercion and unescaped use of the page’s snowdays parameter allows injecting arbitrary HTML and Javascript via a reflected XSS attack.

Stored XSS in Schoology

Schoology blog posts accept a plain HTML document via a tinymce editor, which may be injected with arbitrary elements, including iframes and event handlers.

Uncovering a Bug in Cloudflare's Minification Service

A bug in Cloudflare’s Auto Minify service parsed // and /* ... */ within ES6 `template literals` as comments, causing it to truncate lines or entire blocks of code, leading to unpredictable behavior or in rare cases, a code injection vulnerability.

Bypassing Cert Pinning in the Steam Mobile App

Use apktool and jadx to identify and remove cert pinning code so we can MITM the app to watch its network requests.