Start the machine, hack the system, and find the hidden flags to complete this challenge and earn points!

1
Flags
5
Points
95%
Success Rate
Start Your Challenge
~1-2 min setup
Dedicated server
Private instance
Industry standard
This solution is for Flags Mode

This walkthrough explains how to hack the lab and capture the flags. For help with Learning Mode questions, use the Request Hint button next to each question.

Challenge

Solution Steps

1. Understanding the Challenge

The challenge presents a web page with an input field. The flag is hidden in the JavaScript code, encoded as an array of hexadecimal values.

2. Finding the Hidden Data

Open the browser's Developer Tools (F12 or right-click -> Inspect) and look at the JavaScript code. You'll find an array called encodedData containing hexadecimal values:

const encodedData = [
    "0x35", "0x38", "0x65", "0x33", "0x62", "0x66", "0x66", "0x2d",
    "0x36", "0x33", "0x39", "0x38", "0x2d", "0x34", "0x31", "0x34",
    "0x66", "0x2d", "0x62", "0x37", "0x32", "0x62", "0x2d", "0x65",
    "0x39", "0x63", "0x63", "0x61", "0x31", "0x64", "0x35", "0x63",
    "0x62", "0x62", "0x37"
];

3. Decoding the Flag

There are two ways to decode the flag:

Method 1: Using the Provided Function

In the browser's console, you can use the decodeFlag() function that's already defined in the code:

decodeFlag()

Method 2: Manual Decoding

Each hexadecimal value in the array represents a character in the flag. You can decode it manually by:

  1. Converting each hex value to its decimal equivalent
  2. Using the ASCII table to convert the decimal to a character
  3. Joining all characters together

4. Getting the Flag

The decoded flag will be a UUID. To complete the challenge:

  1. Enter the complete decoded flag in the input field
  2. Click Submit or press Enter

5. Verification

If you entered the correct flag, the page will confirm your success:

58e3bff-6398-414f-b72b-e9cca1d5cbb7

Technical Details

  • The flag is encoded using hexadecimal ASCII values
  • Each value in the array is prefixed with "0x" to indicate it's hexadecimal
  • The String.fromCharCode() function is used to convert the values to characters
  • The challenge uses basic JavaScript array methods and string manipulation