Race Conditions


CSE 466 - Fall 2023

Imagine you're in an adrenaline-pumping race against time, where two or more programs are fiercely competing to access or change shared data. This is the thrilling world of race condition exploits! Like daring hackers sliding under closing security gates, these exploits sneak in at just the right millisecond to alter data, causing the system to act in unexpected and often disastrous ways. In this digital race, a split-second can spell the difference between security and breach, creating a high-stakes drama that unfolds in the blink of an eye. By mastering the mechanics of race conditions, you're not just learning to code, you're stepping into a realm where timing is everything, and the prize is the fortification or exploitation of system vulnerabilities. Your code becomes a high-speed racer on the track of system resources, and understanding race conditions is your ticket to the winner's circle!


Lectures and Reading


Challenges

Exploit a basic race condition to get the flag.

Exploit a basic race condition to get the flag.

Exploit a race condition with a tighter timing window to read the flag. Keep in mind that tighter timing windows in race conditions generally are harder to exploit reliably!

Exploit a race condition with a tighter timing window to read the flag. Keep in mind that tighter timing windows in race conditions generally are harder to exploit reliably!

Exploit a race condtion to corrupt memory, affecting the behavior of the challenge.

Exploit a race condtion to corrupt memory, affecting the behavior of the challenge.

Exploit a race condition to corrupt memory and smash the stack!

Exploit a race condition to corrupt memory and smash the stack!

Exploit a complex race condition to read the flag. This race condition involves multiple steps, which makes it less reliable to exploit!

Exploit a complex race condition to read the flag. This race condition involves multiple steps, which makes it less reliable to exploit!

Exploit a complex race condition to read the flag. This race condition involves multiple steps, which makes it less reliable to exploit!

Exploit a complex race condition to read the flag. This race condition involves multiple steps, which makes it less reliable to exploit!

Exploit a race condition in a more realistic scenario to affect program behavior.

Exploit a race condition in a more realistic scenario to affect program behavior.

Utilize multiple connections to the same program to trigger a race condition, affecting program behavior!

Utilize multiple connections to the same program to trigger a race condition, affecting program behavior!

Utilize a race condition to leak information out of a program.

Utilize a race condition to leak information out of a program.

Utilize a race condition to leak information out of a program, but with additional difficulty, making the race harder!

Utilize a race condition to leak information out of a program, but with additional difficulty, making the race harder!

Utilize a race condition to leak information out of a program, but with even more additional difficulty, making the race even harder!

Utilize a race condition to leak information out of a program, but with even more additional difficulty, making the race even harder!


Ranking

This scoreboard reflects solves for challenges in this module after the module launched in this dojo.

Rank Hacker Badges Score