Start free

Browse everything

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

Filters 2

Filter results

Lab difficulty

Type: Hands-on labTopic: ProgrammingClear all

141 results — showing 1–100

Hands-on labStationX Membership
Intro to PythonPython for Cybersecurity Tool Development + 1 more blockDuration: 2 hThis lab is a quick introduction to programming in Python.
CompTIA PenTest+ badge
Hands-on labStationX Membership
PythonPython for Cybersecurity Tool Development + 1 more blockDuration: 2 hThe Python Tool Building lab is divided into two parts: Python Fundamentals and Python Tool Building.
CompTIA PenTest+ badge
Hands-on labStationX Membership
Python Tool Building - Authenticated SQLiPython for Cybersecurity Tool Development + 1 more blockDuration: 2 hIn this lab, you will exploit a very simple SQL injection vulnerability, as an authenticated user, using a Python script.
CompTIA PenTest+ badge
Hands-on labStationX Membership
Python Tool Building - Banner GrabberPython for Cybersecurity Tool Development + 1 more blockDuration: 2 hIn this lab, we will be writing a short Python script that performs a banner grab on several ports.
CompTIA PenTest+ badge
Hands-on labStationX Membership
Python Tool Building - C2Python for Cybersecurity Tool Development + 1 more blockDuration: 2 hIn this lab, students are given a compromised machine on which they will place an agent.
CompTIA PenTest+ badge
Hands-on labStationX Membership
Python Tool Building - Local File InclusionPython for Cybersecurity Tool Development + 1 more blockDuration: 2 hIn this lab, there is an intentionally vulnerable file that has a local file inclusion vulnerability hosted on your machine.
CompTIA PenTest+ badge
Hands-on labStationX Membership
Windows Rootkits With PythonPython for Hacking & Offensive Security Duration: 2 hIn this lab, we will use the Pywin32 extensions and the Deviare library to hook into functions and interact with the internal data structures.
CompTIA PenTest+ badge
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
Access Document-Based Data in MongoDB by Using Node.jsNode.js - Access and Process DataLevel: GuidedDuration: 30 minIn this lab, you will create a utility that loads, reads, and modifies sales order data in a MongoDB database.
Hands-on labStationX Infrastructure Labs
Access File Data by Using C#C# - Access and Process DataLevel: GuidedDuration: 30 minIn this challenge you will use C# to process data from files.
Hands-on labStationX Infrastructure Labs
Access File Data by Using Node.jsNode.js - Access and Process DataLevel: GuidedDuration: 30 minIn this lab you will write code to read a JSON file containing a customer record into an object, and then return the object representing the customer.
Hands-on labStationX Infrastructure Labs
Access File Data by Using PythonPython - Access and Process DataLevel: GuidedDuration: 30 minIn this challenge you will use Python to process data from files.
Hands-on labStationX Infrastructure Labs
Access MongoDB Data by Using C#C# - Access and Process DataLevel: GuidedDuration: 30 minIn this lab, you create a utility that loads, reads, and modifies sales order data in a MongoDB database.
Hands-on labStationX Infrastructure Labs
Access MongoDB Data by Using PythonPython - Access and Process DataLevel: GuidedDuration: 30 minIn this challenge you will read and write document-based data using Python and MongoDB.
Hands-on labStationX Infrastructure Labs
Access Relational Data by Using C#C# - Access and Process DataLevel: GuidedDuration: 30 minIn this lab, you will create a utility that interacts with a relational database.
Hands-on labStationX Infrastructure Labs
Access Relational Data by Using Node.jsNode.js - Access and Process DataLevel: GuidedDuration: 30 minIn this lab, you will learn how to access relational data by using Node.js.
Hands-on labStationX Infrastructure Labs
Access Relational Data by Using PythonPython - Access and Process DataLevel: GuidedDuration: 30 minIn this challenge, you will create a utility that interacts with a relational database.
Hands-on labStationX Infrastructure Labs
Add Comments and Docstrings by Using CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Automate CI Workflows by Using GitHub ActionsGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Automate Testing and CI with GitHub ActionsGitHubLevel: GuidedDuration: 30 minIn this lab, you will create and configure GitHub Actions workflows to automate testing and continuous integration (CI).
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
Build Command-Line Tools by Using CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Build Features by Using Copilot in PythonGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
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
Collaborate Remotely and Use Pull RequestsGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Compare Values by Using Boolean Operators in C#Introductory C#Level: GuidedDuration: 30 minIn this lab, you will compare literals and variables in your application.
Hands-on labStationX Infrastructure Labs
Control Git Behavior with Config and Ignore FilesGitHubLevel: GuidedDuration: 30 minIn this lab, you will configure your Git environment and then create and test an alias.
Hands-on labStationX Infrastructure Labs
Create a C# Console Application That Uses Literals and VariablesIntroductory C#Level: GuidedDuration: 30 minIn this lab, you will create a console application by using literals and variables.
Hands-on labStationX Infrastructure Labs
Create a Class from a Prompt Using GitHub CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Create an Enum in JavaApprentice Java DeveloperLevel: GuidedDuration: 30 minIn this lab, you will define an enum that holds a set of constant values.
Hands-on labStationX Infrastructure Labs
Create and Manipulate a Map in JavaCollections API and Streams API in JavaLevel: GuidedDuration: 30 minIn this lab, you will create and manipulate a map that counts items in a file.
Hands-on labStationX Infrastructure Labs
Create and Manipulate an ArrayList in JavaCollections API and Streams API in JavaLevel: GuidedDuration: 30 minIn this lab, you will create and manipulate an ArrayList.
Hands-on labStationX Infrastructure Labs
Create and Manipulate Arrays in JavaApprentice Java DeveloperLevel: GuidedDuration: 30 minIn this lab, you will create and manipulate arrays.
Hands-on labStationX Infrastructure Labs
Create Branches and Merge Changes SafelyGitHubLevel: GuidedDuration: 30 minIn this lab, you will build features on separate branches and combine them into main while handling conflicts.
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
Create Persistent Resources by Using Kubernetes DaemonSetsKubernetes Cluster ArchitectureLevel: GuidedDuration: 30 minIn this challenge, you will create persistent resources in a Kubernetes cluster by using DaemonSets.
Hands-on labStationX Infrastructure Labs
Create Shell Scripts by Using CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Create Static Methods in JavaApprentice Java DeveloperLevel: GuidedDuration: 30 minIn this lab, you will create static methods to generate random integers.
Hands-on labStationX Infrastructure Labs
Define a Kubernetes ClusterIP ServiceKubernetes Cluster ArchitectureLevel: GuidedDuration: 30 minIn this challenge, you will define a ClusterIP Service in a Kubernetes cluster.
Hands-on labStationX Infrastructure Labs
Define a Kubernetes NodePort ServiceKubernetes Cluster ArchitectureLevel: GuidedDuration: 30 minIn this challenge, you will define a NodePort Service in a Kubernetes cluster.
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
Develop an API Client with GitHub CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Document Projects by Using Markdown and CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Evaluate Conditions by Using an If Else Structure in C#Introductory C#Level: GuidedDuration: 30 minIn this lab, you will make your applications perform different tasks based on different conditions by using an if else statement.
Hands-on labStationX Infrastructure Labs
Evaluate Variables by Using Logical Expressions in C#Introductory C#Level: GuidedDuration: 30 minIn this lab, you will apply rules in your application by using logical expressions.
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 Infrastructure Labs
Handle Exceptions in JavaApprentice Java DeveloperLevel: GuidedDuration: 30 minIn this lab, you will handle exceptions by using try/catch blocks.
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 - File UploadsHardening C#.NET Web AppsDuration: 3 hThis lab teaches methods to secure web applications written in C# with respect to file upload capabilities.
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
Manage a Collection of Data in C# by Using a Do While LoopIntroductory C#Level: GuidedDuration: 30 minIn this lab, you will to manage collections of related data.
Hands-on labStationX Infrastructure Labs
Manage a Collection of Data in C# by Using a For LoopIntroductory C#Level: GuidedDuration: 30 minIn this lab, you will manage collections of related data.
Hands-on labStationX Infrastructure Labs
Manage a Collection of Data in C# by Using a Foreach LoopIntroductory C#Level: GuidedDuration: 30 minIn this lab, you will manage collections of related data.
Hands-on labStationX Infrastructure Labs
Manage a Collection of Data in C# by Using an ArrayIntroductory C#Level: GuidedDuration: 30 minIn this lab, you will manage collections of related data.
Hands-on labStationX Infrastructure Labs
Manage Branching Logic by Using a Switch-Case Structure in C#Introductory C#Level: GuidedDuration: 30 minIn this lab, you will make your applications perform different tasks based on different conditions by using a switch-case structure.
Hands-on labStationX Infrastructure Labs
Manage Dates and Times in C#Introductory C#Level: GuidedDuration: 30 minIn this lab you will learn the techniques used to perform basic operations on dates and times.
Hands-on labStationX Infrastructure Labs
Manage Kubernetes Pod Scheduling by Using Node Selectors and Node AffinityKubernetes Cluster ArchitectureLevel: GuidedDuration: 30 minIn this challenge, you will manage pod scheduling in a Kubernetes® cluster by using nodeSelector and node affinity rules.
Hands-on labStationX Infrastructure Labs
Manage Numbers in C#Introductory C#Level: GuidedDuration: 30 minIn this lab, you will manipulate and manage numerical data in your applications.
Hands-on labStationX Infrastructure Labs
Manage Objects in Kubernetes by Using Labels, Selectors, and AnnotationsKubernetes Cluster ArchitectureLevel: GuidedDuration: 30 minIn this challenge, you will manage objects in a Kubernetes cluster by using labels, selectors, and annotations.
Hands-on labStationX Infrastructure Labs
Manage Pod Scheduling in a Kubernetes Cluster by Using Taints and TolerationsKubernetes Cluster ArchitectureLevel: GuidedDuration: 30 minIn this challenge, you will manage pod scheduling in a Kubernetes cluster by using taints and tolerations.
Hands-on labStationX Infrastructure Labs
Manage Strings in C#Introductory C#Level: GuidedDuration: 30 minIn this lab, you will manipulate and manage data in words and phrases.
Hands-on labStationX Infrastructure Labs
Manage Tasks by Using GitHub Issues and BoardsGitHubLevel: GuidedDuration: 30 minIn this lab, you will use GitHub Issues and GitHub Projects Boards to manage tasks, track progress, and collaborate with team members.
Hands-on labStationX Infrastructure Labs
Manage the Flow of Execution by Using Loops in PythonIntroductory PythonLevel: GuidedDuration: 30 minIn this lab, you will manage the flow of execution in your code by using looping structures.
Hands-on labStationX Infrastructure Labs
Manipulate a Stream in JavaCollections API and Streams API in JavaLevel: GuidedDuration: 30 minIn this lab, you will manipulate the contents of a stream by using the Stream API.
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 Infrastructure Labs
Rebase, Stash, and Apply Commits PreciselyGitHubLevel: GuidedDuration: 30 minIn this lab, you will clean up history, save temporary changes, and selectively move commits between branches.
Hands-on labStationX Infrastructure Labs
Refactor and Optimize Code with GitHub CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Refactor Python Code by Using CopilotGitHubLevel: GuidedDuration: 30 min**Prerequisite Required for This lab.** Before starting, complete the Set Up Git and Connect to GitHub lab.
Hands-on labStationX Infrastructure Labs
Review and Refactor Code with CopilotGitHubLevel: GuidedDuration: 30 minIn this lab, you will review and refactor code by using Copilot.
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.

Page 1 of 2 · Next →