About the course
Cert: GWAPT GIAC Web Application Penetration Tester
In SEC542, you will practice the art of exploiting web applications to find flaws in your enterprise's web apps. You'll learn about the attacker's tools and methods in order to be a more powerful defender. Through detailed, hands-on exercises and with guidance from the instructor, you will learn the four-step process for web application penetration testing; inject SQL into back-end databases to learn how attackers exfiltrate sensitive data; and utilize cross-site scripting attacks to dominate a target infrastructure. You will also explore various other web app vulnerabilities in-depth using proven techniques and a structured testing regimen.
What You Will Learn
Web applications play a vital role in every modern organization. But, if your organization does not properly test and secure its web apps, adversaries can compromise these applications, damage business functionality, and steal data. Unfortunately, many organizations operate under the mistaken impression that a web application security scanner will reliably discover flaws in their systems.
SEC542 helps students move beyond push-button scanning to professional, thorough, high-value web application penetration testing.
Customers expect web applications to provide significant functionality and data access. Even beyond the importance of customer-facing web applications, internal web applications increasingly represent the most commonly used business tools within any organization. Unfortunately, there is no "patch Tuesday" for custom web applications, so major industry studies find that web application flaws play a major role in significant breaches and intrusions. Adversaries increasingly focus on these high-value targets either by directly abusing public-facing applications or by focusing on web apps as targets after an initial break-in.
Modern cyber defense requires a realistic and thorough understanding of web application security issues. Anyone can learn to sling a few web hacks, but effective web application penetration testing requires something deeper.
SEC542 enables students to assess a web application's security posture and convincingly demonstrate the business impact should attackers exploit the discovered vulnerabilities.
Students will come to understand common web application flaws, as well as how to identify and exploit them with the intent of demonstrating the potential business impact. Along the way, students follow a field-tested and repeatable process to consistently find flaws. Information security professionals often struggle with helping organizations understand risk in terms relatable to business. Executing awesome hacks is of little value if an organization does not take the risk seriously and employ appropriate countermeasures. The goal of SEC542 is to better secure organizations through penetration testing, and not just show off hacking skills. The course will help students demonstrate the true impact of web application flaws not only through exploitation but also through proper documenting and reporting.
In addition to high-quality course content, SEC542 focuses heavily on in-depth, hands-on labs to ensure that students can immediately apply all they learn.
In addition to walking students through a web app penetration through using more than 30 formal hands-on labs, the course culminates in a web application pen test tournament, powered by the SANS NetWars Cyber Range. This Capture the Flag event on the final day brings students into teams to apply their newly acquired command of web application penetration testing techniques in a fun way to hammer home lessons learned.
You Will Learn:
- To apply a repeatable methodology to deliver high-value penetration tests.
- How to discover and exploit key web application flaws.
- How to explain the potential impact of web application vulnerabilities.
- The importance of web application security to an overall security posture.
- How to wield key web application attack tools more efficiently.
- How to write web application penetration test reports.
You Will Be Able To
- Apply OWASP's methodology to your web application penetration tests to ensure they are consistent, reproducible, rigorous, and under quality control.
- Analyze the results from automated web testing tools to validate findings, determine their business impact, and eliminate false positives.
- Manually discover key web application flaws.
- Use Python to create testing and exploitation scripts during a penetration test.
- Discover and exploit SQL Injection flaws to determine true risk to the victim organization.
- Understand and exploit insecure deserialization vulnerabilities with ysoserial and similar tools.
- Create configurations and test payloads within other web attacks.
- Fuzz potential inputs for injection attacks.
- Explain the impact of exploitation of web application flaws.
- Analyze traffic between the client and the server application using tools such as the Zed Attack Proxy and BurpSuite Pro to find security issues within the client-side application code.
- Manually discover and exploit Cross-Site Request Forgery (CSRF) attacks.
- Use the Browser Exploitation Framework (BeEF) to hook victim browsers, attack client software and the network, and evaluate the potential impact that XSS flaws have within an application.
- Perform two complete web penetration tests, one during the five days of course instruction, and the other during the Capture the Flag exercise.
- Interception Proxies
ZAP (Zed Attack Proxy)
- Common Vulnerabilities
Cross-Site Scripting (XSS)
XML External Entities (XXE)
Local and Remote File Inclusion (LFI / RFI)
Cross-Site Request Forgery (CSRF)
- Open Source Intelligence (OSINT)
- Target Profiling
- Application Discovery
- Authentication and Authorization
- Session Management Flaws
- Automated Exploitation
SANS SEC542 employs hands-on labs throughout the course to further students' understanding of web application penetration concepts. Some of the many hands-on labs in the course include:
- DNS Harvesting and Virtual Host Discovery
- Authentication Bypass
- Heartbleed Exploitation
- Insecure Deserialization
- Reflected and Persistent XSS Attacks
- DOM-Based XSS Attacks
- Spidering and Forced Browsing
- SQL Injection
- Blind SQL Injection
- CSRF Exploitation
- XML External Entities
- Metasploit for Web Application Attacks
- Exploiting Shellshock
- Leveraging the sqlmap tool
- BeEF and Browser Exploitation
- Username Harvesting
- Password Guessing Attacks
- HTML Injection
- Remote File Inclusion
- Local File Inclusion
- OS Command Injection
- Drupalgeddon and Drupalgeddon 2 Exploitation
- BurpSuite Professional Scanner
- Python for Web Application Pen Testers
- Troubleshooting when automated tools fail
- Extensive use of both BurpSuite Pro and ZAP throughout the course
What You Will Receive
- Course media that includes both web application attack tools, as well as many vulnerable web applications for testing and training within the classroom and beyond
- Audio recordings of the course to review material after class
- A custom virtual machine tailored specifically for web application penetration testing, with all labs installed locally so they can be repeated even after the course
Syllabus (36 CPEs)
SEC542.1: Introduction and Information Gathering
SEC542.2: Configuration, Identity, and Authorization Testing
SEC542.4: XXE and XSS
SEC542.5: CSRF, Logic Flaws and Advanced Tools
SEC542.6: Capture the Flag
GIAC Web Application Penetration Tester
The GIAC Web Application Penetration Tester (GWAPT) certification validates a practitioner’s ability to better secure organizations through penetration testing and a thorough understanding of web application security issues. GWAPT certification holders have demonstrated knowledge of web application exploits and penetration testing methodology.
- Web application overview, authentication attacks, and configuration testing
- Web application session management, SQL injection attacks, and testing tools
- Cross site request forgery and scripting, client injection attack, reconnaissance and mapping
SEC542 assumes students have a basic working knowledge of the Linux command line.
Important! Bring your own system configured according to these instructions!
A properly configured system is required to fully participate in this course. If you do not carefully read and follow these instructions, you will likely leave the class unsatisfied because you will not be able to participate in hands-on exercises that are essential to this course. Therefore, we strongly urge you to arrive with a system meeting all the requirements specified for the course.
It is critical that you back-up your system before class. It is also strongly advised that you do not bring a system storing any sensitive data.
Baseline Hardware Requirements
CPU: 64-bit Intel i5/i7 2.0+ GHz processor
BIOS: Enabled "Intel-VT"
USB: 3.0 Type-A Port
RAM: 8GB RAM (4GB min)
Hard Drive Free Space: 30 GB Free Space
Host Operating System: Latest version of Windows 10, macOS 10.15.x or later, or Linux that also can install and run VMware virtualization products described below. Note: Apple systems using the M1 processor cannot perform the necessary virtualization at this time and cannot be used for this course.
Additional Hardware Requirements
The requirements below are in addition to baseline requirements provided above. Prior to the start of class, you must install virtualization software and meet additional hardware and software requirements as described below. If you do not carefully read and follow these instructions, you will leave the class unsatisfied because you will not be able to participate in hands-on exercises that are essential to this course.
Network, Wireless Connection: A wireless 82.11 B, G, N or AC network adapter is required.
Who Should Attend SEC542?
General security practitioners
Web application developers
Website designers, architects, and developers
"SEC542 course content is very detailed, comprehensive, and well-rounded in covering all necessary and relevant aspects of web app pen testing." - Kaytlynn Chuzie, Microsoft