Skip to main contentSkip to main content
Room Banner
Back to all walkthroughs
Room Icon

Race Conditions

Premium room

Learn about race conditions and how they affect web application security.

medium

60 min

43,569

User profile photo.
User profile photo.

To access material, start machines and answer questions login.

Let’s say we are tasked with testing the security of an online shopping web application. Many questions pop up. Can we reuse a single $10 gift card to pay for a $100 item? Can we apply the same discount to our shopping cart multiple times? The answer is maybe! If the system is susceptible to a race condition vulnerability, we can do all this and more.

This room introduces the race conditions vulnerability. A race condition is a situation in computer programs where the timing of events influences the behaviour and outcome of the program. It typically happens when a variable gets accessed and modified by multiple threads. Due to a lack of proper lock mechanisms and synchronization between the different threads, an attacker might abuse the system and apply a discount multiple times or make money transactions beyond their balance.

Learning Objectives

After completing this room, you will learn about the following:

  • Race conditions vulnerability
  • Using Repeater to exploit race conditions

Along the way, you will also learn about:

  • Threads and multi-threading
  • State diagrams

Learning Prerequisites

To follow this room, we recommend familiarity with the protocol, web applications, and . The following rooms and modules are recommended to fill any knowledge gaps.

Answer the questions below
I know all the prerequisites. Let the race begin!

Ready to learn Cyber Security?

The Race Conditions room is only available for premium users. Signup now to access more than 500 free rooms and learn cyber security through a fun, interactive learning environment.

Already have an account? Log in

We use cookies to ensure you get the best user experience. For more information see our cookie policy.