Learning Path

Secure Coding Fundamentals

Learn about common development mistakes, how they can be exploited and mitigated.

What you will learn

Most software vulnerabilities are caused by the same few development mistakes. This path describes these vulnerabilities and how to recognize them in code, demonstrates how they are exploited by attackers (including real-world case studies of vulnerable applications in production), and describes ways by which the vulnerabilities can be mitigated.

Wistia video thumbnail

Syllabus

Introduction to Secure Coding Fundamentals

Course — 00:07:58

K0009, K0140

This course introduces the need for secure coding and the tools used in this learning path.

Buffer Overflows

Course — 00:50:40

K0009, K0016, K0070, K0140

This course introduces the buffer overflow vulnerability, its exploitation and possible mitigations.

Integer Overflows and Underflows

Course — 00:53:42

K0009, K0016, K0070, K0140

This course introduces integer overflow and underflow vulnerabilities, their exploitation and possible mitigations.

Race Conditions

Course — 01:18:26

K0009, K0016, K0063, K0070, K0140

This course introduces race conditions, their exploitation and possible mitigations.

Format String Vulnerabilities

Course — 00:32:18

K0009, K0016, K0070, K0140

This course introduces format string vulnerabilities, their exploitation and possible mitigations.

Command Injection

Course — 00:39:42

K0009, K0016, K0070, K0140, K0372

This course introduces command injection vulnerabilities, their exploitation and possible mitigations.

Least Privilege

Course — 01:03:06

K0009, K0016, K0070, K0140, K0167

This course introduces the principle of least privilege and its importance in secure coding.

Credential Management

Course — 01:00:37

K0009, K0016, K0070, K0140, K0336, K0362

This course describes how poor credential management can make an application vulnerable to attack, how it can be exploited and how to manage credentials properly.

Cryptography

Course — 00:40:00

K0009, K0070, K0140, K0190, K0362

This course discusses how the poor use of cryptography can leave an application vulnerable to attack and how it can be exploited, as well as potential mitigations.

SQL Injection

Course — 01:13:11

K0009, K0016, K0024, K0069, K0070, K0140

This course introduces SQL injection vulnerabilities, their exploitation and possible mitigations.

Cross-Site Scripting

Course — 00:31:19

K0009, K0016, K0070, K0140

This course introduces cross-site scripting vulnerabilities, their exploitation and possible mitigations.

Cross-Site Request Forgery

Course — 00:53:27

K0009, K0016, K0070, K0140

This course introduces cross-site request forgery vulnerabilities, their exploitation and possible mitigations.

Poor HTTP Usage

Course — 00:43:07

K0009, K0016, K0070, K0140, K0398

This course describes how poor use of HTTP and HTML can be exploited, as well as possible mitigations.

Error Handling

Course — 00:57:57

K0009, K0016, K0070, K0140

This course describes how poor error handling can be exploited and possible mitigations for this problem.

Secure Coding Fundamentals Project

Project — 02:08:43

Practice your secure coding skills by solving challenges.

Python Code Security Cyber Range

Course — 02:11:00

S0051, S0060, S0172, S0174, S0266

This cyber range helps you develop your knowledge in finding and remediating vulnerabilities in Python code. You’ll build and reinforce your skills as you progress through labs covering a wide range of Python code security topics, including using Bandit, PyT and other tools to find common security issues in Python code, perform taint and control flow analysis, and recognize vulnerabilities that can lead to common application attacks, such as cross-site scripting or XPath injection. You will also practice identifying supply chain vulnerabilities, unsafe deserialization and other risks.

Secure Coding Cyber Range

Cyber Range — 02:30:00

This cyber range is a collection of labs, each covering a different language, selected from the largest and fastest-growing languages. Each lab focuses on language-specific security concerns.

Secure Coding Fundamentals Skill Assessment

Assessment — 84 questions — 00:42:00

Meet the author

Howard Poston is a copywriter, author, and course developer with experience in cybersecurity and blockchain security, cryptography, and malware analysis. He has an MS in Cyber Operations, a decade of experience in cybersecurity, and over five years of experience as a freelance consultant providing training and content creation for cyber and blockchain security. He is also the creator of over a dozen cybersecurity courses, has authored two books, and has spoken at numerous cybersecurity conferences. He can be reached by email at howard@howardposton.com or via his website at https://www.howardposton.com.

The details

Learning path insights

How to claim CPEs

Should you complete this learning path, you’ll be able to download a certificate of completion. Use this to claim your CPEs or CPUs.

Associated NICE Work Roles

All Infosec training maps directly to the NICE Workforce Framework for Cybersecurity to guide you from beginner to expert across 52 Work Roles.

  • All-Source Analyst
  • Mission Assessment Specialist
  • Exploitation Analyst

No software. No set up. Unlimited access.

Skip the server racks and spin up a realistic environment with one click. Infosec Skills cyber ranges require no additional software, hardware or server space so your team can spend less time configuring environments and more time learning. Unlimited cyber range access is included in every lnfosec Skills subscription so your team can skill up however they learn best.

Plans & pricing

  • Infosec Skills Personal

    $299 / year

    • 190+ role-guided learning paths (e.g., Ethical Hacking, Threat Hunting)
    • 100s of hands-on labs in cloud-hosted cyber ranges
    • Custom certification practice exams (e.g., CISSP, Security+)
    • Skill assessments
    • Infosec peer community support
  • Infosec Skills Teams

    $799 per license / year

    • Team administration and reporting
    • Dedicated client success manager
    • Single sign-on (SSO)
      Easily authenticate and manage your learners by connecting to any identity provider that supports the SAML 2.0 standard.
    • Integrations via API
      Retrieve training performance and engagement metrics and integrate learner data into your existing LMS or HRS.
    • 190+ role-guided learning paths and assessments (e.g., Incident Response)
    • 100s of hands-on labs in cloud-hosted cyber ranges
    • Create and assign custom learning paths
    • Custom certification practice exams (e.g., CISSP, CISA)
    • Optional upgrade: Guarantee team certification with live boot camps

Unlock 7 days of free training

  • 1,400+ hands-on courses and labs
  • Certification practice exams
  • Skill assessments

You're in good company

CY

We use Infosec Skills to provide continuous training to our technicians and to prepare them for various certifications. Infosec Skills allows us to create personalized training programs that focus on each of our technicians’ particular roles and see their progress as they take courses. We also, recommend it to clients to make their IT support teams better.

Caleb Yankus

DS

This has been utilized to bridge the skills gap across our cyber team and to aid them as they prepare for their various certifications. It also has provided a nice learning foundation for our various cyber team members to utilize as we continue to find ways for cross-utilization with operations while minimizing the downtime needed to ensure everyone’s knowledge is the same.

Daniel Simpson

IS

We use Infosec Skills to provide base level knowledge for employees. We also use the services to provide in depth learning for employees as they encounter new technologies. If an employee is is assigned to a new project, we can rely on Infosec Skills to provide a rapid concentrated learning environment. This rapid concentrated learning positions our employees for success.

Infosec Skills Teams client