Secure Coding with OWASP in Angular
https://www.pluralsight.com/courses/angular-owasp-secure-coding
by Alisa Duncan
Mod 1: Course Overview
- Course Overview
Mod 2: Introduction to Secure Coding
- About This Course
- Introduction to Secure Coding
- OWASP Top Ten
- short explanation of each item of the OWASP Top Ten
- Demo: OWASP Top Ten
- Key OWASP Projects
Mod 3: Managing Authentication and Identity
- Introduction
- Robust Authentication Mechanisms
- Identity Providers
- use the authorization code with PKCE for angular applications
- you must handle signing out as well
- handled by most OIDC libraries
- Demo: Adding Authentication
- using the Angular Auth OIDC Client library and okta
- Summary
Mod 4: Managing Sessions
- Introduction
- Session Considerations
- Demo: Session Expiration
- Protecting Sessions
- XSRF Protection in Angular
- angular implements the Double Submit Cookie Pattern
- - this is to fight CSRF attacks
- - shows how to configure it
- Demo: XSRF Protection
- demo of using csrf protection with a backend
- Summary
Mod 5: Handling Inputs and Outputs
- Introduction
- Escaping Displayed Values
- demonstration of how string interpolation guards against xss
- Demo: Escaping Displayed Values
- Input Validation
- Demos: Custom Validators
- Summary
Mod 6: Creating Dynamic Views
- Introduction
- Sanitizing Displayed Values
- AOT compilation helps fight xss
- it sanitizes code as it compiles.
- AOT compilation is the default starting in angular 8
- Demo: Property Binding and Safe Markup
- DOM based cross site scripting is automatically handled by angular
- Bypassing Automatic Sanitization
- Demo: Bypassing Automatic Sanitization
- to bypass sanitization, use the DomSanitizer class
- Explicit Sanitization
- you can explicitly sanitize markup (this.sanitizer.santize(...)) but you should prefer the built in sanitize mechanism built-in to angular
- Demo: Explicit Sanitization
- Summary
Mod 7: Managing Conditional View Elements
- Introduction
- Structural Directives
- Create a custom structural directive for a more complex use case instead of using ngif or ngswitch
- Demo: Limit Access to Views
- shows an example of creating a simple structural directive
- Summary
Mod 8: Protecting Routes
- Introduction
- Route Architecture
- Routing and Route Guards
- Demo: Route Guards
- Summary
Mod 9: Calling APIs
- Introduction
- Managing Credentials
- Proxy calls containing API Tokens if you need to maintain confidentiality of your tokens
- huh? what does this mean?
- API Access and Interceptors
- Demo: Authorization Header Interceptor
- Summary
Mod 10: Managing Dependencies
- Introduction
- Vulnerable and Outdated Components
- Use the 'ng update' CLI command to keep Angular up-to-date
- Demo: Running a Dependency Scan
- Check for vulnerabilities using npm audit
- use 'npm audit --omit=dev' to check production build
- Software and Data Integrity Failures
- Pin your dependencies
- Use lock files and ensure the semantic versioning range defined for the dependency is narrow.
- use npm ci
- Demo: Verify Package Signatures
- Summary
Comments
Post a Comment