Course Outline
A01:2025 - Broken Access Control
A02:2025 - Security Misconfiguration
A03:2025 - Software Supply Chain Failures
A04:2025 - Cryptographic Failures
A05:2025 - Injection
A06:2025 - Insecure Design
A07:2025 - Authentication Failures
A08:2025 - Software or Data Integrity Failures
A09:2025 - Security Logging and Alerting Failures
A10:2025 - Mishandling of Exceptional Conditions
A01:2025 Broken Access Control - Access control policies ensure that users can only act within their designated permissions. Failures in this area often result in unauthorized data disclosure, modification, or destruction, or allow users to perform business functions beyond their authorized limits.
A02:2025 Security Misconfiguration - This occurs when a system, application, or cloud service is improperly configured from a security standpoint, thereby creating vulnerabilities.
A03:2025 Software Supply Chain Failures - These refer to breakdowns or compromises in the software building, distribution, or update processes. They are frequently caused by vulnerabilities or malicious alterations in third-party code, tools, or dependencies relied upon by the system.
A04:2025 Cryptographic Failures - Ideally, all data in transit should be encrypted at the transport layer (OSI layer 4). Modern CPUs now offer instructions to accelerate encryption (e.g., AES support), and services like LetsEncrypt.org simplify private key and certificate management. Major cloud vendors also provide integrated certificate management. Beyond the transport layer, it is crucial to identify data requiring encryption at rest and additional encryption in transit (application layer, OSI layer 7). Sensitive data such as passwords, credit card numbers, health records, personal information, and business secrets require extra protection, particularly under privacy laws like the EU's General Data Protection Regulation (GDPR) or regulations like the PCI Data Security Standard (PCI DSS).
A05:2025 Injection - An injection vulnerability is a flaw that allows attackers to insert malicious code or commands (such as SQL or shell code) into a program’s input fields, tricking the system into executing them as legitimate. This can lead to severe consequences.
A06:2025 Insecure Design - This broad category encompasses weaknesses described as “missing or ineffective control design.” Insecure design is not the root cause of all other Top Ten risks. It is important to distinguish between insecure design and insecure implementation, as they have different root causes, occur at different stages, and require different remediations. A secure design may still have implementation defects, but an insecure design cannot be fixed by perfect implementation because the necessary security controls were never created. A contributing factor to insecure design is often the lack of business risk profiling during development, leading to an unclear security design requirement.
A07:2025 Authentication Failures - This vulnerability exists when an attacker can trick a system into accepting an invalid or incorrect user as legitimate.
A08:2025 Software or Data Integrity Failures - These failures relate to code and infrastructure that do not protect against invalid or untrusted code or data being treated as valid. For instance, applications relying on plugins, libraries, or modules from untrusted sources, repositories, or Content Delivery Networks (CDNs) are at risk. An insecure CI/CD pipeline that lacks software integrity checks can introduce unauthorized access, malicious code, or system compromise. Another example is a CI/CD process that pulls code or artifacts from untrusted locations without verifying them via signatures or similar mechanisms.
A09:2025 Security Logging & Alerting Failures - Without logging and monitoring, attacks and breaches go undetected. Without alerting, responding quickly and effectively to security incidents becomes difficult. Insufficient logging, continuous monitoring, detection, and alerting can occur whenever these elements are neglected.
A10:2025 Mishandling of Exceptional Conditions - This happens when software fails to prevent, detect, and respond to unusual or unpredictable situations, leading to crashes, unexpected behavior, or vulnerabilities. This may involve failing to prevent the situation, failing to identify it during occurrence, or responding poorly afterward.
We will discuss and present practical aspects of:
Broken Access Control
- Practical examples of broken access controls
- Secure access controls and best practices
Security Misconfiguration
- Real-world examples of misconfigurations
- Steps to prevent misconfiguration, including configuration management and automation tools
Cryptographic Failures
- Detailed analysis of cryptographic failures, such as weak encryption algorithms or improper key management
- The importance of strong cryptographic mechanisms, secure protocols (SSL/TLS), and examples of modern cryptography in web security
Injection Attacks
- Detailed breakdown of SQL, NoSQL, OS, and LDAP injection
- Mitigation techniques using prepared statements, parameterized queries, and escaping inputs
Insecure Design
- Exploring design flaws that can lead to vulnerabilities, such as improper input validation
- Strategies for secure architecture and secure design principles
Authentication Failures
- Common authentication issues
- Secure authentication strategies, including multi-factor authentication and proper session handling
Software and Data Integrity Failures
- Focus on issues like untrusted software updates and data tampering
- Safe update mechanisms and data integrity checks
Security Logging and Monitoring Failures
- The importance of logging security-relevant information and monitoring for suspicious activities
- Tools and practices for proper logging and real-time monitoring to detect breaches early
Requirements
- A foundational understanding of the web development lifecycle.
- Experience in web application development and security.
Audience
- Web developers.
- Team leaders.
Testimonials (7)
That every technical lesson came with multiple practical exercises to nail down the concepts.
Andrei-Calin Bajea
Course - OWASP Top 10 2025
very dynamic and flexible training!
Valentina Giglio - Fincons SPA
Course - OWASP Top 10
Laboratory exercises
Pietro Colonna - Fincons SPA
Course - OWASP Top 10
The interactive components and examples.
Raphael - Global Knowledge
Course - OWASP Top 10
Hands-on approach and Trainer Knowledge
RICARDO
Course - OWASP Top 10
The knowledge of the trainer was phenomenal
Patrick - Luminus
Course - OWASP Top 10
exercises, even if outside of my comfort zone.