Uncertain Times — Infosec's here to help. Learn about remote testing and other COVID-19 resources.

C++ Code Security Cyber Range

Gain practical experience and develop your secure C++ coding skills through 10 hands-on labs in the C++ Code Security Cyber Range.

10 labs  //  2 hours of training

Free training week — 600+ on-demand courses and hands-on labs

C++ Code Security Cyber Range overview

This cyber range helps you develop your knowledge in finding and remediating vulnerabilities in C++ code. You’ll build and reinforce your skills as you progress through labs covering a wide range of C++ code security topics, including using ccpcheck, gdb, XQilla and other tools to find common security issues in C++ code, perform control flow analysis and recognize vulnerabilities that can lead to common application attacks, such as buffer and integer overflows or XPath injection. You will also practice identifying format string vulnerabilities, improper type and pointer management, and other risks.

Labs

C++ - Introduction to cppcheck
Lab
C++ - Introduction to cppcheck

C++ - Introduction to cppcheck

cppcheck is a static code analysis tool for C++ code that tests for a wide number of potential vulnerabilities and other errors. This lab demonstrates some of the basic functionality and use of cppcheck.

Duration: 14:00

C++ - Control Flow Analysis in C++
Lab
C++ - Control Flow Analysis in C++

C++ - Control Flow Analysis in C++

A variety of different errors can affect the execution flow of code and its eventual result. This lab demonstrates the use of a control flow analysis tool for tracking the flow of C++ code and identifying these errors.

Duration: 11:00

C++ - Buffer Overflows
Lab
C++ - Buffer Overflows

C++ - Buffer Overflows

Buffer overflows are one of the simplest and most common programming errors in C++ code. This lab demonstrates several ways that a buffer overflow vulnerability can be introduced into code, how they can be exploited, and how to correct them.

Duration: 14:00

C++ - Integer Overflows and Underflows
Lab
C++ - Integer Overflows and Underflows

C++ - Integer Overflows and Underflows

Integer overflow and underflow vulnerabilities are created by unsafe typecasting between different integer variable types. This lab demonstrates code containing these vulnerabilities, how the vulnerabilities can be exploited, and how to correct them.

Duration: 13:00

C++ - Format String Vulnerabilities
Lab
C++ - Format String Vulnerabilities

C++ - Format String Vulnerabilities

Format string specifiers are useful for building strings using variables of other types. However, if they are misused, they can have unexpected results or open up a program to exploitation. This lab demonstrates some common format string mistakes, and, when applicable, how they can be exploited.

Duration: 13:00

C++ - XPath Injection
Lab
C++ - XPath Injection

C++ - XPath Injection

XPath makes it possible to programmatically access data stored within an XML document. This lab demonstrates how poorly-designed XPath queries can be exploited and corrected.

Duration: 15:00

C++ - Type Management
Lab
C++ - Type Management

C++ - Type Management

C++ has a number of different variable types and ways of using them. This lab explores some of the ways that types and functions can be misused.

Duration: 15:00

C++ - Pointer Management
Lab
C++ - Pointer Management

C++ - Pointer Management

C++ pointers contain memory addresses and are used as a reference to arrays and other object types. This lab demonstrates some of the common mistakes made using pointers in C++.

Duration: 14:00

C++ - Sensitive Data Disclosure
Lab
C++ - Sensitive Data Disclosure

C++ - Sensitive Data Disclosure

Applications are frequently designed to process and protect sensitive information. This lab explores some of the ways that logical or implementation errors can unintentionally expose this data.

Duration: 13:00

C++ - Poor Error Handling
Lab
C++ - Poor Error Handling

C++ - Poor Error Handling

A variety of different factors can cause low-level functions and other code to fail. This lab demonstrates some ways in which errors in error handling can make code execution unpredictable or exploitable.

Duration: 14:00

 

Train on your schedule

Personal

Infosec Skills

  • 600+ courses
  • 100s of hands-on labs and projects
  • 70+ role-based learning paths
  • Skill assessments
  • Custom learning paths
  • Custom certification practice exams
  • Cloud-hosted cyber ranges
  • Infosec peer community support

Infosec Skills boot camp

  • Live, instructor-led training
  • Available in-person or live online
  • All Infosec Skills content from the minute you enroll to 90 days following your boot camp
  • Certification exam voucher
  • 100% Satisfaction Guarantee
  • Exam Pass Guarantee

Team

Infosec Skills Teams

$599 per learner / year

  • All Infosec Skills content for the year
  • Team boot camp discounts — online or onsite (not included with subscription)
  • Team administration and reporting
  • Custom team learning paths
  • Transferable licenses
  • Dedicated client success manager

Award-winning training that you can trust

Best Software - Highest Satisfaction

Infosec Skills

Best IT Security-related Training Program

Infosec Skills

Best Cybersecurity Education Provider & Best Security Education Platform

Infosec Skills

Most Innovative Product - Cybersecurity Training for Infosec Professionals

Infosec Skills

Global Excellence - Cyber Security Education & Training

Infosec Skills

Exceptional learning experiences powered by LX Labs cyber expertise

Infosec Skills courses and labs are powered by LX Labs — our elite team of cyber SMEs, learning specialists and community of top-ranked security instructors, published authors and sought-after industry leaders. We rigorously vet all Infosec Skills training resources to guarantee they meet certification and compliance requirements and align with recognized guidelines like the NICE Cybersecurity Workforce Framework.

LX Labs