The SecureFlag Catalog has a range of Labs across different technologies, enabling participants to identify challenges and explore the vulnerability types in technologies and programming languages that best suit their needs.
Each Lab consists of exercises that explore applications with real-world vulnerabilities. In our Labs, participants can identify security flaws and write effective patches in a variety of different programming languages.
Labs are categorized by their respective technologies. By selecting a technology, you can access the list of Labs contained within.
Each Lab has an assigned difficulty level:
For each Lab you complete, you will be awarded Points and a Trophy. You are only awarded points the first time you solve a Lab. However, you can run the exercise again if you want to practice further.
Labs also have a Status tag associated with them that will change according to your progress:
To access a Lab, navigate to the Labs section by clicking on the Labs button in the navigation bar on the left.
Select a technology in the catalog or search for a specific Lab using the search bar.
Inside each technology, you will find a list of available Labs. Find the Lab you would like to attempt and click on the Run button to open the Lab page.
The Lab page contains a description of the Lab, as well as its duration, difficulty level, the number of points, and trophy awarded upon successful completion. In addition, there are two buttons on the right side of the page: Learn more and Run Lab.
Click on the Learn more button to access the vulnerability knowledge base, which provides more details about the vulnerability and best practices to resolve it.
Once you are ready, click on the Run Lab button to initiate the Lab.
Note: The vulnerability info will also be available inside the Lab for your reference.
After clicking the Run Lab button, the platform will take a few seconds to prepare the Lab, after which a Launch button will appear. Click on the Launch button to enter the Lab.
Note: The Lab’s timer will start once you click the Run Lab button.
The virtual Lab interface will appear shortly after launching. The key elements of the interface are:
For more information on how to enable clipboards in different browsers, check out this section.
The first Scenario stage provides the description of the exercise, as well as its duration, difficulty level, and score.
You can click on the highlighted text in the “Learn More about…” section to access the vulnerability knowledge base, which provides more details about the vulnerability and best practices to resolve it.
You can then move on to the Setup stage by clicking on the Continue button.
You can always come back to access the content of a stage you have worked on previously.
Note: The stage number will change from 1 to a Blue tick, indicating you have completed this stage.
Follow the Setup stage instructions to run the code and start/run the vulnerable application. Once the vulnerable application or code has begun, click on the Continue button to progress to the Hack stage.
While this stage is optional, we highly recommend that you try to execute the steps to exploit the vulnerability. It will give you a better understanding of the attack from an adversary’s perspective.
Read the instructions in the Hack stage to learn how to execute the hack. If you get stuck along the way, hints are available to point you in the right direction. To read a hint, click on the Free Hint button.
Once you have successfully exploited the vulnerability, click on the Continue button to move on to the Remediate stage.
Note: Points are not deducted when using hints in the Exploit stage.
Read the instructions in the Remediate stage to know which code changes you need to make. If you get stuck along the way, hints are available to point you in the right direction. To read a hint, click on the Hint button.
Note: Points will be deducted when using a hint during the Remediate stage.
Once you have made the necessary changes, run the code again as per the instructions in the Setup stage, and then click on the Continue button.
If your changes have fixed the vulnerability, the stage number changes from 4 to a Blue Tick, and a popup window will appear, indicating that you have successfully completed the Lab.
From here, you can click on Stop Exercise to be taken back to the Completed Labs page, or you can click on Cancel to close the popup window and then test the hack to see how your changes have fixed the vulnerability.
To exit the Lab, you can either click on the Continue button in the Remediate stage or click on the Power Button located in the bottom-left corner of the screen.
If your changes to the code have not fixed the vulnerability, a status message will appear, indicating the code is still vulnerable.
The Lab will alert you if your changes have broken any functionality. If this is the case, a Broken Functionality message will be displayed with an option to restore the code to its initial state.
When you click on restore, you will be requested to close and reopen the IDE. On reopening the IDE, you will be presented with the code from the beginning of the Lab.
You can now try to fix the vulnerability again.
Important: In the event you Restore your code, stage numbers 2 and 4 will change into a Red cross, indicating that the code is not running. You must first complete stage 2 Setup then move to stage 4 Remediation.
You can access the vulnerability info for the Lab you are currently in by clicking on the highlighted text in "Learn More about..." at the end of the Scenario stage in a Lab.
You can save your Lab to run it later.
If you would like to share a particular lab with someone, you can do it by clicking the share icon next to the save icon.
Then, you can see a popup saying, “Link copied to clipboard.” Later, you can share the copied link to share the lab.
If you would like to provide feedback for a lab, you can do it by clicking the Feedback icon.
Then, you will see a modal window where you can post your feedback.
The copy/paste clipboard in the Lab is compatible with Chromium-based browsers. We recommend running the Labs in Chrome, Opera, or Microsoft Edge.
When running Labs on browsers that are not based on Chromium, for example, Firefox, you will have space on the right of the screen dedicated to copying and pasting content within the Lab.

To add more content, simply click on the clipboard icon located in the bottom left of the screen.
Note: This feature is not available during tournaments.
The SecureFlag Platform allows you to extend the duration of the Lab, giving you more time to complete your Lab without interruption.
When the Lab reaches the last 6 mins, a pop-up will appear in the top right corner.
Note: The pop-up will only appear once.
You can then click on the countdown timer at the bottom left corner to extend the Lab by 10 minutes.
Note: This can be repeated whenever the timer falls below 6 minutes.
After completing a Lab, you will be redirected to the Completed Labs page.
The page is presented in a tabular format with the following columns: Lab, Technology of the Lab, Date/Duration of the Lab instance, Score for the Lab completion and the Status of the Lab instance.
Note: This status is different from the Lab Status described in Lab difficulty.
Click on the View Results button in the last column. You will be directed to the bottom of the page, where you will find three tabs:
The SecureFlag Platform has a plethora of Labs and Learning Paths. To ensure our users find what they are looking for, we have filters set up on the pages.
Navigate to the Labs section by clicking on the Labs button in the navigation bar on the left.
You can search for any Lab by entering its title into the search bar, or you can access more filters by selecting the Browse button located under each technology type.
Selecting a technology that you are interested in will present a table of available Labs for the selected technology.
You are presented with a page that allows you to filter Labs by Technology, Lab Type, Difficulty Level, Status, and relevant Frameworks in the selected technology.
Your Team Leader might want to concentrate on certain vulnerabilities to establish baseline security measures. In this case, they can assign Labs and Learning Paths to you. These tasks can have a due date.
You can view the exercises assigned to you by clicking on the “All Assigned Activities” on the Dashboard or the “My Activities” button on the Platform header.
In the My Activities page, your activities will be presented in a tabular format, with a Start button in the last column allowing you to commence the activity.
Additional information concerning the assigned activity will also be visible, such as the Type, i.e., whether it is a Lab or a Learning Path, the related technology, the level of Difficulty, the Due Date if there is one designated, and the current Status of the activity.
Also, reminder emails will be sent to remind you of the upcoming activities and their corresponding due dates.
You can view your completed Activities by clicking the "Show Completed Activities" toggle switch.
Then, you can view your incomplete assigned activities by clicking the "Hide Completed Activities" toggle switch.