Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

Secure .NET Development with OWASP

Secure Your .NET Code and mitigate OWASP Top 10 Web App vulnerabilities.

About the course

Building secure software is an absolute necessity. Developers using the Microsoft .NET platform face specific security challenges and opportunities when it comes to protecting their applications and the sensitive data they handle. This 3-day intensive hands-on training course is designed to equip .NET developers, architects, and technical leads with the essential knowledge and practical skills required to identify common security vulnerabilities, understand precisely how they manifest within .NET applications (including ASP.NET Core and other relevant technologies), and implement effective countermeasures using secure coding practices and the powerful security features provided by the .NET platform and its ecosystem. The course is heavily informed by the widely recognised OWASP (Open Web Application Security Project) guidelines, particularly focusing on the OWASP Top 10 list of critical web application security risks.

The course begins by analysing current threat vectors targeting software development teams and exploring the fundamental reasons why web applications, including those built with .NET technologies, can be vulnerable to attack. Participants will then dive deep into the OWASP Top 10 list, gaining a detailed understanding of each vulnerability category, how to identify these risks within .NET codebases and architectures, and, crucially, learning effective techniques to prevent them. Hands-on labs will provide practical experience in recognising vulnerable .NET code patterns, understanding the impact of these vulnerabilities, and applying secure coding techniques and .NET security APIs to mitigate risks. The training covers essential defence mechanisms such as implementing robust Authentication and Authorization using modern .NET frameworks like ASP.NET Core Identity, designing effective protection through practical Threat Modelling activities tailored for .NET projects, and utilising Encryption and other critical data protection techniques provided by the .NET cryptography libraries.

Furthermore, the course explores the importance of integrating security throughout the entire Software Development Lifecycle (SDLC), shifting security "left" by incorporating secure design principles and threat modelling early in the development process. Participants will learn specific .NET techniques for secure input validation, output encoding, and best practices for managing sensitive configuration and secrets to prevent common injection attacks, Cross-Site Scripting (XSS), and sensitive data exposure. The course provides an overview of how various security testing approaches (including an introduction to penetration testing tips and techniques relevant to web applications) and automated secure testing tools can help identify vulnerabilities proactively before deployment. By the end of this course, attendees will have a solid understanding of secure .NET development principles, be intimately familiar with key OWASP vulnerabilities and their specific manifestations and countermeasures in .NET, and possess practical skills to build more secure, resilient, and trustworthy .NET applications.

    • 1. Understand current software threat vectors, the motivations behind attacks, and the fundamental reasons why web applications can be insecure.
    • 2. Explain the principles of secure design and architecture and understand how to implement security throughout the Software Development Lifecycle (SDLC).
    • 3. Identify the vulnerabilities listed in the OWASP Top 10, understand how they specifically apply to .NET applications, and learn practical techniques to prevent them.
    • 4. Implement secure Authentication and Authorization mechanisms in .NET applications, including effectively using ASP.NET Core Identity and role/policy-based authorization.
    • 5. Perform basic Threat Modelling activities tailored for .NET projects to identify potential security risks during the design phase.
    • 6. Utilise Encryption and other .NET cryptography APIs effectively for data protection, including securing data at rest and in transit.
    • 7. Apply secure coding best practices in .NET, including secure input validation, output encoding, managing sensitive configuration, and handling errors securely.
    • 8. Understand the purpose and techniques of Penetration Testing and Testing for Secure Software, and know how to apply relevant testing approaches to .NET applications.
  • This 3-day intensive hands-on training course is designed for software developers, architects, and technical leads building applications using the Microsoft .NET platform. It is ideal for:

    • Software Developers working with .NET (including ASP.NET, ASP.NET Core, .NET) who want to build secure applications and prevent common vulnerabilities.

    • .NET Architects and Technical Leads responsible for designing secure application architectures and guiding development teams on security best practices.

    • Anyone involved in building or maintaining web applications, APIs, or services using .NET technologies.

    • Security professionals who need to understand application security specifically within the .NET ecosystem to perform code reviews or advise development teams.

  • Participants should have:

    • Experience developing applications using the Microsoft .NET framework or .NET Core / .NET.

    • Familiarity with building web applications using ASP.NET or ASP.NET Core is highly recommended, as many examples and labs will focus on web vulnerabilities.

    • A basic understanding of web technologies (HTTP, browsers, client-server concepts).

    We can customise the training to match your team's experience and needs - with more time and coverage of fundamentals for newer developers, for instance.

  • This Secure .NET course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • Introduction to Secure .NET Development

    • Welcome and course overview.

    • The importance of secure software development in the modern threat landscape.

    • Current Threat Vectors used to attack Dev Teams and organisations.

    • The business and reputational impact of security breaches.

    • Why are Web Applications Insecure? Common weaknesses and attack surface.

    • Understanding the Attacker's mindset.

    • Discussion: Analysing recent real-world breaches and their causes.

    Implementing a Secure Development Cycle (SDLC)

    • Shifting security "left": Integrating security into the SDLC.

    • Understanding and applying Secure Design Principles.

    • Requirements gathering with security in mind.

    • Secure coding standards and guidelines.

    • Security testing throughout the lifecycle.

    • Secure deployment and operations.

    • Review and continuous improvement.

    • Activity: Discussing how to integrate security into a typical development workflow.

    Introduction to the OWASP Top 10

    • What is OWASP? History and resources.

    • Overview of the OWASP Top 10 (2021): The most critical web application security risks.

    • Why the OWASP Top 10 is important for developers.

    • Mapping OWASP risks to common software weaknesses (CWE).

    • Introduction to the Hands-On Lab environment and tools.

    • Hands-On Lab: Introduction to the lab environment, exploring a vulnerable application.

    OWASP – The Big Picture

    • OWASP Top 10

    • OWASP API Security Top 10

    • Using the OWASP API Security Top 10

    • Metrics behind the Top 10 Risks

    • Module 4: OWASP Top 10 (Part 1) - Injection (A03:2021)

      • Understanding Injection flaws (SQL Injection, OS Command Injection, etc.).

      • How Injection vulnerabilities manifest specifically in .NET applications (e.g., vulnerable ADO.NET code, LINQ to SQL issues, interacting with OS processes).

      • Preventing Injection:

        • Using Parameterized Queries and ORMs (Entity Framework Core).

        • Securely interacting with the operating system.

        • Secure input validation and sanitisation techniques in .NET.

      • Hands-On Lab: Identifying and exploiting Injection vulnerabilities in .NET code examples, implementing mitigation using parameterized queries or ORM.

    Broken Access Control (A01:2021)

    • Understanding Access Control vulnerabilities.

    • How Broken Access Control manifests in .NET applications (e.g., missing checks, insecure direct object references (IDOR), privilege escalation).

    • Preventing Broken Access Control:

      • Implementing granular access control checks server-side.

      • Using Role-Based Access Control (RBAC) and Policy-Based Authorization in ASP.NET Core.

      • Handling object references securely (e.g., using opaque identifiers).

    • Hands-On Lab: Identifying and exploiting Broken Access Control issues in .NET code, implementing secure access control checks and authorization policies.

    Cryptographic Failures (A02:2021)

    • Understanding vulnerabilities related to sensitive data exposure.

    • How Cryptographic Failures manifest in .NET applications (e.g., weak encryption, improper key management, sending sensitive data over insecure channels).

    • Preventing Cryptographic Failures:

      • Identifying sensitive data and its lifecycle.

      • Using .NET Cryptography APIs securely (System.Security.Cryptography).

      • Best practices for encryption (at rest and in transit - TLS/HTTPS).

      • Secure key management in .NET applications.

      • Securely storing credentials and secrets (e.g., using .NET Secret Manager or Azure Key Vault).

    • Hands-On Lab: Identifying sensitive data exposure, implementing data encryption/decryption using .NET cryptography APIs, securing secrets.

    Identification and Authentication Failures (A07:2021)

    • Understanding vulnerabilities related to broken authentication and session management.

    • How Authentication and Identification Failures manifest in .NET applications (e.g., weak password handling, insecure session management, lack of MFA).

    • Implementing Secure Authentication and Authorization in .NET:

      • Using ASP.NET Core Identity for robust user management.

      • Secure password hashing and storage (Identity default security).

      • Implementing multi-factor authentication (MFA) with .NET Identity.

      • Secure session management (cookies, tokens).

      • Preventing brute-force and credential stuffing attacks.

    • Hands-On Lab: Implementing secure user registration and login with ASP.NET Core Identity, configuring password policies, implementing MFA.

    Security Misconfiguration (A05:2021)

    • Understanding vulnerabilities from improper setup or defaults.

    • How Security Misconfiguration manifests in .NET environments (e.g., default credentials, unnecessary services, verbose error messages, insecure cloud configurations).

    • Preventing Security Misconfiguration:

      • Secure configuration practices in .NET applications (appsettings.json, configuration providers).

      • Removing default or unnecessary components.

      • Hardening the deployment environment (IIS, Kestrel, Azure App Services).

      • Logging and monitoring best practices in .NET.

    • Hands-On Lab: Identifying security misconfigurations in a .NET application and environment, applying secure configuration settings.

    Cross-Site Scripting (XSS) (A03:2021 - part of Injection)

    • Understanding XSS flaws (Reflected, Stored, DOM-based).

    • How XSS manifests in .NET web applications (e.g., injecting scripts into Razor views, handling untrusted user input displayed in UI).

    • Preventing XSS:

      • Using context-aware output encoding in ASP.NET Core Razor (@).

      • Manual output encoding when necessary (.NET HtmlEncoder).

      • Implementing Content Security Policy (CSP).

      • Securely handling user-provided HTML.

    • Hands-On Lab: Identifying and exploiting XSS vulnerabilities in a .NET web application, applying output encoding to prevent XSS.

    Vulnerable and Outdated Components (A06:2021)

    • Understanding the risk of using libraries, frameworks, and other components with known vulnerabilities.

    • How this applies to the .NET ecosystem (NuGet packages, .NET runtime versions).

    • Preventing Vulnerable and Outdated Components:

      • Keeping .NET runtime and SDKs updated.

      • Managing NuGet package dependencies securely.

      • Using dependency scanning tools (e.g., OWASP Dependency Check, GitHub Dependabot).

      • Understanding CVEs (Common Vulnerabilities and Exposures).

    • Hands-On Lab: Using a dependency scanning tool on a .NET project to identify vulnerable components.

    Insecure Design (A04:2021)

    • Understanding vulnerabilities resulting from design flaws.

    • How Insecure Design manifests in .NET architectures (e.g., trusting client-side input, lack of defence in depth, complex access control logic).

    • Addressing Insecure Design:

      • Integrating security into the design phase.

      • Applying secure design patterns.

      • Principle of Least Privilege in design.

      • Separation of Concerns for security boundaries.

    Client-Side Security

    • OWASP Top 10: Software and Data Integrity Failures (A08:2021).

    • OWASP Top 10: Security Logging and Monitoring Failures (A09:2021).

    • OWASP Top 10: Server-Side Request Forgery (SSRF) (A10:2021).

    • How these manifest and are prevented in .NET applications.

    • Client-Side Security – Protecting your users:

      • Client-side Secure Design Principles.

      • Risks of client-side code (JavaScript).

      • Securing communication with the server (HTTPS revisited).

      • Input validation (client vs. server-side).

      • Protecting against Cross-Site Request Forgery (CSRF) using ASP.NET Core Anti-Forgery Tokens.

    • Hands-On Lab: Implementing anti-CSRF tokens in an ASP.NET Core application, identifying and mitigating SSRF in a .NET service.

    Threat Modelling

    • What is Threat Modelling? Purpose and benefits.

    • Different Threat Modelling methodologies (e.g., STRIDE, DREAD).

    • Performing basic Threat Modelling for a .NET application (identifying assets, threats, vulnerabilities, countermeasures).

    • Integrating Threat Modelling into the SDLC.

    • Activity: Performing a mini-threat modelling exercise for a component of a .NET application.

    Client-Side Security

    • OWASP Top 10: Software and Data Integrity Failures (A08:2021).

    • OWASP Top 10: Security Logging and Monitoring Failures (A09:2021).

    • OWASP Top 10: Server-Side Request Forgery (SSRF) (A10:2021).

    • How these manifest and are prevented in .NET applications.

    • Client-Side Security – Protecting your users:

      • Client-side Secure Design Principles.

      • Risks of client-side code (JavaScript).

      • Securing communication with the server (HTTPS revisited).

      • Input validation (client vs. server-side).

      • Protecting against Cross-Site Request Forgery (CSRF) using ASP.NET Core Anti-Forgery Tokens.

    • Hands-On Lab: Implementing anti-CSRF tokens in an ASP.NET Core application, identifying and mitigating SSRF in a .NET service.

    Testing for Secure Software & Review

    • Why security testing is essential.

    • Types of security testing (Static Analysis - SAST, Dynamic Analysis - DAST, Interactive Analysis - IAST, Penetration Testing, Code Reviews).

    • Testing for Secure Software - Review: Techniques and best practices.

    • Introduction to Penetration Testing – Tips & Techniques: What developers should know about pentests.

    • Automated security testing tools relevant to .NET development (overview).

    • Interpreting security scanner results.

    • Reporting security findings.

    • Course Review and next steps in secure .NET development.

    • Hands-On Lab: Using a simple SAST tool on a vulnerable .NET codebase, interpreting results.

Trusted by

CAPITA company logo CERN organisation logo AMEC company logo

Public Courses Dates and Rates

Please get in touch for pricing and availability.

Related courses