Web Technologies

Please note the knowledge domains and topics outlined here are for guidance only and subject to change.

Can assess and exploit vulnerabilities within the functional logic, function access control and business logic of an application

Can generate malicious payloads in a variety of common file formats

Can generate malicious payloads in a variety of common file formats

Understands the role of MIME types in relation to file upload features

Understands and can identify common vulnerabilities with file upload capabilities within applications

Understands and can identify directory traversal vulnerabilities within applications

Identification and exploitation of Encoded values (e.g. Base64)

Understands the concepts of TLS and can determine whether a TLS-enabled web server has been configured in compliance with best practice (i.e. it supports recommended ciphers and key lengths)

Understands how cryptography can be used to protect data in transit and data at rest, both on the server and client side

Understands the security implications of session IDs exposed in URLs

Understands the role of sessions in CSRF attacks

Understands and can exploit session fixation vulnerabilities

Can identify the session control mechanism used within a web application

Understanding the difference between HMAC and public key JWTs

Exploiting “none” signature or lack of signature checking in JWTs

Identifying JWTs

Can exploit a blind SQL injection vulnerability

Can determine the existence of a blind SQL injection condition in a web application

Exploiting SQL injection to execute operating system commands or read files

Exploiting auth bypass (‘ or ‘a’=’a)

Exploiting UNION based injection

Identifying SQL injection

Understands the difference between persistent (stored) and reflected XSS

Understands cross-site-scripting (XSS) and can demonstrate the launching of a successful XSS attack

Understands fuzzing and its use in web application testing

Understands the need for server-side validation and the flaws associated with client-side validation

Understands the importance of input validation and how it can be implemented, e.g. allow-lists, deny-lists and regular expressions

Understands common authentication vulnerabilities, including:
• Transport of credentials over an unencrypted channel
• Testing for username enumeration
• Brute-force testing
• Authentication bypass
• Session hijacking
• Insecure password reset features
• Insufficient logout timeout/functionality
• Vulnerable CAPTCHA controls
• Race Conditions
• Lack of MFA

Can gather information about a web site and application from the error messages it generates

Can gather information from a web site and application mark-up or programming language, including:
• Hidden form fields
• Database connection strings
• User account credentials
• Developer comments
• External and/or authenticated-only URLs

Understands how to interpret definition files, e.g. WSDL and Swagger

Understands different common payload formats such as XML and JSON

Understands and can demonstrate how the insecure implementation of web-based APIs can be exploited

Can demonstrate the use of relevant tools to test APIs, e.g. SoapUI and Postman

Understands common authentication techniques used in web APIs, e.g. API keys

Understands and can demonstrate the use of web-based APIs to remotely access remote services

Understands the use of tools and techniques to identify new OS and software vulnerabilities

Understands and can demonstrate how the insecure implementation of software developed using these languages can be exploited (candidate may select two languages)

Understands common web mark-up and programming languages, including: • .NET • ASP Classic • Perl • PHP • JSP • Python • JavaScript

Understands and can demonstrate the use of web protocols, including: • HTTP • HTTPS • Web Sockets

Understands HTTP Header Fields relating to security features

Understands all HTTP methods and response codes

Understands the concepts of virtual hosting and web proxies

Understands and can demonstrate the remote exploitation of web servers

Understands the purpose, operation, limitation and security attributes of web proxy servers

Can identify web servers on a target network and can remotely determine their type and version

Understands and can identify the different types of domain trusts, including:
• One-way and two-way trusts
• Explicit and transitive trusts

Can identify and analyse Service Principal Names

Can identify and analyse internal browse lists

Can enumerate accessible Windows shares

Can identify forests, domains, domain controllers, domain members and work groups

Can identify Windows hosts on a target network