Start free

Browse everything

Roadmaps, courses and hands-on labs — search or filter. All roadmaps · Lab catalogue

Filters 2

Filter results

Lab difficulty

Duration: 30–60 minTopic: ProgrammingClear all
Hands-on labStationX Membership
Secure Coding (Java) - Lab 1: Race ConditionsSecure Coding (Java)Duration: 1 hIn this lab, we will look at attacks on race conditions and then cover how to fix them.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 2: Data ValidationSecure Coding (Java)Duration: 1 hIn this lab, we will look at vulnerabilities involving code injection due to improper handling of user input.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 3: AuthenticationSecure Coding (Java)Duration: 1 hIn this lab, we will look at authentication vulnerabilities including verbose error messages, plaintext passwords, and single-factor authentication.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 4: Access ControlSecure Coding (Java)Duration: 1 hIn this lab, we will look at vulnerabilities with access control - the process by which a system decides whether or not a user is allowed to make use of a resource.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 5: CryptographySecure Coding (Java)Duration: 1 hThere are many issues that can arise with Cryptography, when trying to write secure code.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 6: Error HandlingSecure Coding (Java)Duration: 1 hIn this lab, we will look at vulnerabilities involving overly verbose error messages and insufficient logging.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 7: Static AnalysisSecure Coding (Java)Duration: 1 hIn this lab, we will be looking at a tool called CodeChecker that analyzes code for issues with both security vulnerabilities and coding conventions.
ISC2 CISSP badge
Hands-on labStationX Membership
Secure Coding (Java) - Lab 8: Insecure DeserializationSecure Coding (Java)Duration: 1 hMany languages use object serialization for communication as it can greatly ease development.
ISC2 CISSP badge
Hands-on labStationX Infrastructure Labs
Build a Real Project by Using Git WorkflowsGitHubLevel: AdvancedDuration: 45 minIn this lab, you will simulate a full development cycle on a Git project by initializing a repository, creating files and committing changes, branching, merging, and pushing the repository to GitHub.
Hands-on labStationX Infrastructure Labs
Can You Access Data by Using C#?C# - Access and Process DataLevel: AdvancedDuration: 45 minIn this challenge, you will use C# to read and write data from a relational database and a non-relational database.
Hands-on labStationX Infrastructure Labs
Can You Access Data by Using C#?C# - Access and Process DataLevel: ExpertDuration: 1 hIn this challenge, you will use C# to read and write data from a relational database and a non-relational database.
Hands-on labStationX Infrastructure Labs
Can You Access Data by using Python?Python - Access and Process DataLevel: AdvancedDuration: 45 minIn this challenge you will use Python to read and write data from a relational database, and a non-relational database.
Hands-on labStationX Infrastructure Labs
Can You Access Data by using Python?Python - Access and Process DataLevel: ExpertDuration: 1 hIn this challenge you will use Python to read and write data from a relational database, and a non-relational database.
Hands-on labStationX Infrastructure Labs
Can You Build an Application in C#?Introductory C#Level: ExpertDuration: 1 hIn this lab, you will build a C# application that uses simple variables and arrays, performs looping and branching, and uses logic to display data.
Hands-on labStationX Infrastructure Labs
Can You Configure Services in a Kubernetes Cluster?Kubernetes Cluster ArchitectureLevel: AdvancedDuration: 45 minIn this challenge, you will create services in a Kubernetes cluster.
Hands-on labStationX Infrastructure Labs
Can You Create a C# Console Application That Uses Variables?Introductory C#Level: AdvancedDuration: 45 minIn this lab, you will create a console application that uses variables.
Hands-on labStationX Infrastructure Labs
Can You Loop Through an Array in a C# Application?Introductory C#Level: AdvancedDuration: 45 minIn this lab, you will control the flow of code in an application by using looping.
Hands-on labStationX Infrastructure Labs
Can You Manage Kubernetes Cluster Resources?Kubernetes Cluster ArchitectureLevel: ExpertDuration: 1 hYou need to manage resources in a Kubernetes cluster.
Hands-on labStationX Infrastructure Labs
Can You Manage Kubernetes Resources?Kubernetes Cluster ArchitectureLevel: AdvancedDuration: 45 minIn this challenge, you will manage resources in a Kubernetes cluster.
Hands-on labStationX Infrastructure Labs
Can You Manage Pod Scheduling in a Kubernetes Cluster?Kubernetes Cluster ArchitectureLevel: AdvancedDuration: 45 minIn this challenge, you will manage pod scheduling in a Kubernetes cluster by using nodeSelector and node affinity rules.
Hands-on labStationX Infrastructure Labs
Can You Use Branching and Conditional Logic in a C# Application?Introductory C#Level: AdvancedDuration: 1 hIn this lab, you will control the flow of code in your application by using use Boolean operators, logical expressions, and branching techniques.
Hands-on labStationX Infrastructure Labs
Create Branching Logic in PythonIntroductory PythonLevel: GuidedDuration: 45 minIn this lab, you will create branching logic in Python.
Hands-on labStationX Infrastructure Labs
Define and Use Functions in PythonIntroductory PythonLevel: GuidedDuration: 45 minIn this lab, you will define functions in an application.
Hands-on labStationX Infrastructure Labs
Handle Errors and Exceptions in PythonIntroductory PythonLevel: GuidedDuration: 45 minIn this lab, you will handle errors and exceptions in your code.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Broken Access ControlHardening C#.NET Web AppsDuration: 1 hIn this lab, we will show an exploit on a user's cookie, then apply remediation measures, and then reattempt the exploit.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Broken AuthenticationHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure the authentication methods in a web application written in C#.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Cross Site ScriptingHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure web applications written in C# against XSS attacks.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - CSRFHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure web applications written in C# against Cross Site Request Forgery attacks.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - OS Command InjectionHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure a web application written in C# against OS Command Injection attacks.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Password HashingHardening C#.NET Web AppsDuration: 1 hThis lab teaches how to properly use password hashing in a C# web application.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Secure DeserializationHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure web applications written in C# against Insecure Deserialization attacks.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - SQL InjectionHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure a web application written in C# against SQL Injection attacks.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Two Factor AuthenticationHardening C#.NET Web AppsDuration: 1 hThis lab teaches how to deploy Google Authenticator in a C# web application in order to deploy Two Factor Authentication.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - Web ConfigurationHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure the C# configuration for web applications written in C#.
Hands-on labStationX Membership
Hardening C#.NET Web Apps - XXEHardening C#.NET Web AppsDuration: 1 hThis lab teaches methods to secure a web application written in C# against XXE attacks.
Hands-on labStationX Infrastructure Labs
Implement Release Management and Versioning in GitHubGitHubLevel: ExpertDuration: 1 hIn this lab, you will prepare a new repository for versioning by creating an initial git tag.
Hands-on labStationX Infrastructure Labs
Manipulate Strings in PythonIntroductory PythonLevel: GuidedDuration: 1 hIn this lab, you will You are a Python developer.
Hands-on labStationX Infrastructure Labs
Read and Write to a File in JavaApprentice Java DeveloperLevel: GuidedDuration: 45 minIn this lab, you will create a class that will read and write files.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 1: Race ConditionsSecure Coding (C++)Duration: 1 hIn this lab, we will look at attacks on race conditions and then cover how to fix them.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 2: Data ValidationSecure Coding (C++)Duration: 1 hIn this lab, we will look at vulnerabilities involving code injection due to improper handling of user input.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 3: AuthenticationSecure Coding (C++)Duration: 1 hIn this lab, we will look at authentication vulnerabilities including verbose error messages, plaintext passwords, and single-factor authentication.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 4: Access ControlSecure Coding (C++)Duration: 1 hIn this lab, we will look at vulnerabilities with access control - the process by which a system decides whether or not a user is allowed to make use of a resource.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 5: CryptographySecure Coding (C++)Duration: 1 hThere are many issues that can arise with Cryptography, when trying to write secure code.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 6: Error HandlingSecure Coding (C++)Duration: 1 hIn this lab, we will look at vulnerabilities involving overly verbose error messages and insufficient logging.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 7: Static AnalysisSecure Coding (C++)Duration: 1 hIn this lab, we will be looking at a tool called CodeChecker that analyzes code for issues with both security vulnerabilities and coding conventions.
Hands-on labStationX Membership
Secure Coding (C++) - Lab 8: Buffer OverflowsSecure Coding (C++)Duration: 1 hWhen too much data is placed into a buffer, it can overwrite adjacent memory values leading to remote code execution or system crashes.
Hands-on labStationX Membership
Secure Coding (Python) - Lab 1: Race ConditionsSecure Coding (Python)Duration: 1 hWhenever there is concurrent access to a shared resource, there is the potential for race conditions.
CompTIA SecurityX badge
Hands-on labStationX Membership
Secure Coding (Python) - Lab 2: Data ValidationSecure Coding (Python)Duration: 1 hWhenever input is taken from an end user, you need to exercise caution that the data entered will not be interpreted as anything other than data.
CompTIA SecurityX badge
Hands-on labStationX Membership
Secure Coding (Python) - Lab 4: Access ControlSecure Coding (Python)Duration: 1 hAccess control is the process by which a system decides whether or not a user is allowed to make use of a resource.
CompTIA SecurityX badge
Hands-on labStationX Membership
Secure Coding (Python) - Lab 6: Error HandlingSecure Coding (Python)Duration: 1 hThere are a few issues when it comes to error handling that are related to security.
CompTIA SecurityX badge
Hands-on labStationX Membership
Secure Coding (Python) - Lab 7: Static AnalysisSecure Coding (Python)Duration: 1 hIn this lab, we will be looking at a tool called CodeChecker that analyzes code for issues with both security vulnerabilities and coding conventions.
CompTIA SecurityX badge
Hands-on labStationX Membership
Secure Coding (Python) - Lab 8: Pickles and ImportsSecure Coding (Python)Duration: 1 hIn this lab, we will look at Python Pickles and the Python import system.
CompTIA SecurityX badge
Hands-on labStationX Infrastructure Labs
Set Up Git and Connect to GitHub [Prerequisite Lab]GitHubLevel: PrerequisiteDuration: 45 minThis is a prerequisite for all related labs in this series and only to be completed once.
Hands-on labStationX Infrastructure Labs
Store Data in Python Data StructuresIntroductory PythonLevel: GuidedDuration: 1 hIn this lab, you will store data by using data structures.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Broken Access ControlHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to deploy basic access control in a web application written in PHP.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Broken AuthenticationHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure the authentication methods in a web application written in PHP.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Cross Site ScriptingHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure web applications written in PHP against XSS attacks.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - CSRFHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure web applications written in PHP against Cross Site Request Forgery attacks.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - File UploadsHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure web applications written in PHP with respect to file upload capabilities.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - OS Command InjectionHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure a web application written in PHP against OS Command Injection attacks.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Password HashingHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches how to properly use password hashing in a PHP web application.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Path Traversal and LFIHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to prevent Path Traversal and Local File Inclusion in a web application written in PHP.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - PHP ConfigurationHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure the PHP configuration for web applications written in PHP.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Secure DeserializationHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure web applications written in PHP against Insecure Deserialization attacks.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Sensitive Data ExposureHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches how to prevent sensitive data exposure in a PHP web application.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - SQL InjectionHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure a web application written in PHP against SQL Injection attacks.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - Two Factor AuthenticationHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches how to deploy Google Authenticator in a PHP web application in order to deploy Two Factor Authentication.
Hands-on labStationX Membership
WEB241: Hardening PHP Web Apps - XXEHardening PHP Web Apps + 1 more blockDuration: 1 hThis lab teaches methods to secure a web application written in PHP against XXE attacks.