CAST 613 – Hacking and Hardening Corporate Web Apps/Web Sites

Overview:

This course is meticulously designed for security-unaware programmers, demonstrating the everyday actions that lead to security vulnerabilities. With more than 50% of the course dedicated to hands-on coding labs, developers will be astonished by the security flaws in their regular practices. Ideal participants include those with a development, coding, or architecting background. This course is equally beneficial for developers enhancing their cyber awareness and managers responsible for preventing security breaches.

In today’s world, security breaches are common news. Studies show that each compromised record can cost a company over $1,000 in repairs, not to mention reputational damage. For managers, this can be a career-limiting oversight. This course helps developers, architects, and project managers understand and mitigate security risks effectively.

Objectives:

After completing this course, students will:

  • Gain a heightened awareness of how everyday development practices can compromise security.
  • Learn through a language-agnostic approach suitable for developers and management.
  • Understand how to identify and fix security vulnerabilities in web applications.
  • Recognize the importance of secure coding practices and architecture.
  • Walk away with practical knowledge to improve and secure their own web apps/web sites.

Duration:

4 Days

Intended Audience:

This course is beneficial for information security personnel from any organization handling important data, including:

  • Government agencies
  • Universities
  • Hospitality
  • Retail
  • Banking and financial institutions
  • Brokerage and trading firms
  • Insurance companies
  • Scientific institutions and research agencies
  • Telecommunication companies
  • Computer design firms
  • Consulting firms
  • Science and engineering firms
  • Online businesses and transactions
  • Card-related businesses

Course Outlines:

  1. Introduction
  • About the course and author Tim Pierson
  • The purpose and importance of web app/web site security
  • Overview of tools like Firefox/Firebug, Chrome developer tools, and free add-ons
  • Using proxies like Fiddler, Paros, or Burp Suite for monitoring and modifying requests

    2. Cryptography Decrypted

    • Encryption basics and algorithms (symmetric and asymmetric)
    • Password policies and passphrases
    • Hashing, hash collisions, and common hash algorithms
    • Digital signatures and SSL certificates
    • Public Key Infrastructure and IPSec
    • Real-world cryptography issues like HeartBleed

    3. Account Management – The Key to it all?

      • Importance of password strength and attack vectors
      • Techniques for secure password management
      • Risks in account creation and reset processes
      • Secure password storage and authentication practices

      4. Parameter Diddling

        • Identifying and manipulating untrusted data in HTTP request parameters
        • Capturing and modifying requests to test application logic
        • Importance of server-side validation and model binding
        • Techniques like HTTP verb tampering and fuzz testing

        5. Transport Layer Protection – Safety During the Commute

          • Objectives of transport layer protection
          • Understanding and mitigating man-in-the-middle attacks
          • Risks of insecure cookie transmission and mixed-mode content
          • Implementing HSTS headers

          6. Cross Site Scripting (XSS)

            • Understanding untrusted data and input sanitization
            • Types of XSS (reflected, stored, DOM) and their risks
            • Techniques for output encoding and payload delivery
            • Implementing the X-XSS-Protection header

            7. Cookies – Not Just for Hansel and Gretel

              • Session management and HTTP cookies
              • Implementing HttpOnly and secure cookies
              • Risks of cookie expiration and session cookies
              • Strategies for secure cookie management

              8. Internal Implementation Disclosure

                • Identifying website risk profiles and server response headers
                • Techniques for HTTP fingerprinting and analyzing HTML source
                • Risks of internal error message leakage and access controls

                9. SQL Injection

                  • Understanding and testing for SQL injection vulnerabilities
                  • Techniques for database structure discovery and data harvesting
                  • Automating attacks with tools like Havij
                  • Implementing secure application patterns

                  10. Cross Site Attacks

                  • Understanding cross-site attacks and request forgery
                  • Role of anti-forgery tokens and testing against APIs
                  • Techniques for clickjacking attacks

                    This course ensures that participants will leave with a profound understanding of web app security, ready to apply best practices and secure their applications effectively.