SEC536: Adversarial AI - Penetration Testing AI Systems


Experience SANS training through course previews.
Learn MoreLet us help.
Contact usBecome a member for instant access to our free resources.
Sign UpWe're here to help.
Contact UsApply your credits to renew your certifications
Attend a live, instructor-led class at a location near you or remotely, or train on your time over 4 months
Course material is geared for cyber security professionals with hands-on experience
Apply what you learn with hands-on exercises and labs
Build real-world web app offensive skills with a hands-on, repeatable process for finding, exploiting, and clearly proving the vulnerabilities that matter.
This course was especially valuable to me because it bridged the gap between theory and practical application. The hands-on labs, in particular, stood out; they closely simulated real-world scenarios and helped me build confidence in applying the techniques during actual penetration testing engagements at work.
If an organization does not properly test and secure its web applications, adversaries can compromise critical systems, steal data, disrupt operations, and trigger regulatory fallout. Many still rely only on vulnerability scanners and assume these tools will reliably uncover real-world flaws.
SEC542 shows you how to move beyond push-button tools and perform focused, high-value web application penetration tests. You will learn a repeatable methodology to assess both Internet-facing and internal business applications that support sensitive workflows and data.
Through hands-on labs, you will practice finding and exploiting vulnerabilities such as SQL injection, XSS, deserialization bugs, SSRF, and file inclusion, then communicate business impact to stakeholders. This course lays a practical foundation in web application security; it will not make you an expert in a week, but it gives you the skills, process, and mindset to keep improving long after class ends.
SEC542 Web App Penetration Testing builds a complete methodology for testing modern web applications. Rather than teaching isolated tricks, the course walks students from reconnaissance and mapping through exploitation and reporting, using the OWASP Web Security Testing Guide as a backbone and a rich set of hands-on labs.
Early sections focus on understanding how the web actually works. Students review HTTP requests and responses, headers, cookies, and HTTP methods, then study how TLS and certificate configuration affect security. Using intercepting proxies such as Burp Suite and OWASP ZAP, they learn to profile targets, enumerate attack surface, and spot configuration weaknesses that scanners and simple browsing often miss.
The course then moves into fuzzing, scanning, and APIs. Students practice input fuzzing with tools like ffuf and proxy-based scanners to discover hidden content and parameter-driven behavior. They work with web APIs, OpenAPI definitions, and tools such as Bruno to understand how API design and authentication create a new attack surface. Along the way, they analyze common authentication mechanisms and identity protocols, including JSON Web Tokens, and see where implementation patterns introduce risk.
Identity and access control weaknesses receive dedicated attention. Students perform username harvesting, blind and non-blind, and tie that work to password spraying and account lockout testing. They explore authentication bypass flaws such as parameter tampering and direct page access, then move into authorization issues, including broken object-level and function-level authorization and both vertical and horizontal privilege escalation. Client-side attacks complement these themes, with coverage of DOM behavior, browser developer tools, DOM-based XSS, and the Browser Exploitation Framework BeEF.
Subsequent sections dive into server-side exploitation. Students investigate prototype pollution and see how manipulating JavaScript inheritance can lead to business logic abuse. They perform error-based SQL injection, blind techniques, and out-of-band database injection, then apply comparable techniques to NoSQL injection. Labs combine Burp Suite, sqlmap, curl, John the Ripper, and CeWL to automate exploitation, steal sensitive data such as credit card numbers, dump hashes, and crack high-value credentials. Command injection labs cover both visible and blind scenarios, using Burp Collaborator, DNS-based exfiltration techniques, and custom Python tools built with the help of ChatGPT.
The course also addresses SSRF and XML External Entity vulnerabilities. Students use fuzzing and error analysis to drive SSRF attacks that lead to database identification and retrieval of selected columns. XXE labs show how misconfigured XML handling can expose local files, retrieve remote content, and execute system commands, reinforcing the importance of secure parser configuration.
Students write Python scripts that use the Requests and httpx libraries to automate common testing tasks, such as inspecting response headers and brute forcing directories. Insecure deserialization labs cover Java deserialization and Python pickling, showing how chained information leakage, file inclusion, and serialization flaws can be combined to read secret files and achieve remote code execution. Server-side template injection is explored through hands-on proof-of-concept work that escalates from simple template output to file access and code execution.
Client-side trust boundaries are reinforced in Cross Site Request Forgery labs, where students create, weaponize, and automate CSRF exploits that change administrative passwords and other settings. Additional exercises focus on file upload handling and web shells, where students bypass upload controls and deploy server-side payloads. A Metasploit Framework lab introduces practical use of msfconsole, exploitation of a WordPress plugin vulnerability, interaction with a PHP Meterpreter payload, and saving looted files from the compromised target.
Finally, SEC542 ties the technical content back to real pentesting work. Students discuss security logging and monitoring failures, examine issues that can lead to logic flaws in web applications, and look at the OWASP Top 10 for LLM applications to understand how large language model components change risk profiles. Business-focused material on penetration testing preparation and post-assessment activities helps students plan and scope engagements, define rules of engagement, communicate with stakeholders, and turn technical findings into clear reports, executive summaries, and debriefs that support follow-up and continuous improvement.
By the end of the course, students have a repeatable process for assessing web applications and a deep catalog of hands-on experience across the vulnerabilities that matter in modern environments. SEC542 is designed to build practical skills rather than offer shortcuts, and it equips students with the mindset and workflow needed to continue sharpening their web application testing abilities long after class finishes.
Students routinely show up to SEC542 having been demoralized by their organization's web application vulnerability scanner. Sitting on the business end of these scanners, students regularly attest to 1,000+ pages of output littered with false positives. One of the most rewarding aspects of teaching SEC542 is seeing and hearing those very same students' enthusiasm for applying the skills they have learned throughout the week to the applications they are responsible for securing. They intrinsically knew the push-button approach to penetration testing was failing them, but lacked the knowledge and skill to ably and efficiently perform any other style of assessment. We are happy to say that SEC542 remedies this problem. Students walk away from class with a deep knowledge of key web application flaws and how to discover and exploit them, as well as how to present these findings in an impactful way.
- Eric Conrad, Timothy McKenzie, and Bojan Zdrnja


Eric Conrad, a SANS Faculty Fellow and course author, has 28 years of information security experience. Eric is the CTO of Backshore Communications and his specialties include Intrusion Detection, Threat Hunting, and Penetration Testing.
Read more about Eric Conrad

Timothy McKenzie is a SANS Principal Instructor, founder of 3L337 Consulting, SEC542 co-author, and SEC588 instructor. His courses draw on more than 30 years of experience in Red Team operations, web application security, cloud penetration testing, and adversary emulation.
Read more about Timothy McKenzie

Bojan Zdrnja is a SANS Certified Instructor and CTO at INFIGO IS, specializing in penetration testing, malware analysis, and incident response. Teaching SEC542 and SEC565, he brings decades of real-world experience into the classroom.
Read more about Bojan ZdrnjaExplore the course syllabus below to view the full range of topics covered in SEC542: Web App Penetration Testing and Ethical Hacking.
This first section of the web application penetration testing course covers essential techniques such as interception proxies, HTTP basics, information gathering, virtual host discovery, target profiling, HTTPS testing, and content spidering. Labs include configuring Burp Suite and conducting thorough assessments.
Overview
Successful web application penetration testing requires understanding the attacker’s perspective. This course begins with an in-depth look at foundational web technologies, covering protocols, languages, clients, and server architectures. Special emphasis is placed on DNS reconnaissance techniques, including virtual host discovery and analysis of HTTP response headers, cookie security controls, and HTTP methods.
The course leverages the OWASP Web Security Testing Guide (WSTG) methodology to deliver high-quality assessments. Essential tools in a penetration tester’s toolkit are discussed, with a focus on interception proxies like BurpSuite Professional, Zed Attack Proxy (ZAP) and Caido. Students learn how to configure these tools for intercepting SSL traffic and exploring web applications.
Section one also delves into the intricacies of Secure Sockets Layer (SSL) configurations, highlighting common weaknesses. It guides students through target discovery and profiling using tools like cURL, nmap, and testssl.sh to gather configuration details and perform content discovery via spidering/crawling of web applications. Hands-on labs provide practical experience in reconnaissance to identify potential configuration flaws and build a comprehensive profile of each server.
Full Lab Details
Full Topic Details
Section 2 focuses on advanced web application security techniques, including fuzzing for vulnerability detection, information leakage analysis, and using Nuclei and Burp Suite Pro scanners. It also covers forced browsing for content discovery, API exploitation, various authentication methods, and federated identity protocols.
Overview
In this section of the SEC542 Web App Penetration Testing course, students dive into fuzzing, API testing, vulnerability scanning, and major web authentication methods. They are introduced to Burp Suite Professional Scanner and learn how its scanning capabilities help identify real-world vulnerabilities in web applications.
The section opens with fuzzing as a core technique used by both automated scanners and human testers. The instructor demonstrates multiple fuzzing techniques using tools such as the Nuclei Vulnerability Scanner and Burp Suite Pro Scanner, showing how systematically exercising all inputs in a web application uncovers flaws that simple browsing will miss. Students also examine information leakage issues and how leaked data can accelerate the exploitation of other vulnerabilities. They learn the importance of wordlists in contextual scanning, and how carefully chosen, context-specific wordlists can reveal previously undiscovered content and functionality through forced browsing.
Next, the course turns to APIs and their central role in modern web applications. Students explore different approaches to API testing, including hands-on Bruno and OpenAPI labs, and practice identifying and exploiting vulnerabilities within API endpoints. The instructor then surveys key authentication mechanisms such as Basic, Digest, Integrated Windows, and Forms-based authentication, as well as federated identity and access protocols such as SAML, OAuth, and OpenID Connect. The focus is on how these mechanisms work in practice and where common implementation patterns create an attack surface and potential attack vectors, preparing students to recognize weaknesses.
Throughout the section, students work through multiple labs focused on practical skills: fuzzing inputs, running vulnerability scans, performing content discovery through forced browsing, and attacking JSON Web Tokens as a concrete example of authentication-related weaknesses. By the end, they will have gained hands-on experience with fuzzing techniques, vulnerability identification, content discovery, and modern authentication mechanisms and attack surface, providing a solid foundation for deeper web application security testing and penetration methodologies in later sections.
Full Lab Details
Full Topic Details
This section moves from username harvesting and blind password spraying through session management and authentication and authorization bypass, then into stored, reflected, and DOM-based XSS, payload construction, data exfiltration, and browser exploitation using tools such as Burp Suite, ffuf, DOM Invader, and BeEF.
Overview
This section brings together a full set of labs that walk participants from initial username discovery through advanced client-side exploitation. The labs start with username harvesting, where participants interact with authentication mechanisms and learn to spot cues that reveal valid accounts. Using ZAP and ffuf, they fuzz first initials and last names to build candidate username lists, then use programmatic methods to distinguish legitimate users when differences in HTML responses are visible.
The next lab introduces blind username harvesting and password spraying. Participants refine their techniques for discerning valid usernames even when HTML responses do not differ in obvious ways. They then use Burp Suite Pro to perform password spraying with common passwords and to test for account lockout, reinforcing the connection between username harvesting and later authentication attacks.
Session management is explored through focused work with Burp Suite’s Sequencer tool. Participants analyze session token randomness for an application using strong session identifiers and then compare those results to a simulated set of weak session tokens. Along the way, they review session tamper protection controls and test logout and expiration behavior, seeing how predictable or poorly invalidated tokens can enable unauthorized access.
Authentication and authorization bypass topics build on this foundation. Participants examine flaws such as parameter tampering, direct page access, SQL injection, and session fixation, then turn to authorization weaknesses, including Broken Object Level Authorization and Broken Function Level Authorization. Using Burp Suite, they enumerate valid user accounts with Burp Intruder, determine the uid of a student account, infer another user’s uid from HTTP History, and use Grep Extract to pull usernames from responses, illustrating both vertical and horizontal privilege escalation paths.
The labs then shift to client-side attacks. A set of exercises on stored and reflected Cross Site Scripting introduces a practical methodology for discovering XSS and building proof-of-concept payloads. Participants demonstrate the impact of a stored XSS vulnerability in the Order Lookup flow of the lab target at https://restaurant.sec542.net and use JavaScript to produce specific deliverables for an educational prompt related to credential re-authentication. Additional work on XSS payload construction and delivery shows how XSS can be used to exfiltrate sensitive data by constructing keystroke-capturing payloads with ChatGPT and sending captured data to an out-of-band interaction endpoint such as Burp Collaborator. Participants deliver, and test reflected XSS payloads, analyze the reach and persistence of stored XSS in the Order Lookup feature, and design credential theft style prompts with ChatGPT, using Burp Suite, Collaborator, Python, and ChatGPT as supporting tools.
Finally, the focus moves to DOM-based XSS and browser exploitation. Participants study pure, reflected, and stored DOM XSS variants, craft payloads that use elements such as URL fragments and reflected JSON for client-side injection, and rely on browser developer tools and PortSwigger’s DOM Invader to trace sources, sinks, and execution paths. After testing these payloads in the browser context, they transition to the Browser Exploitation Framework BeEF, explore different XSS payloads, and see how BeEF can redirect browsers, steal credentials, and trigger alerts, tying together the overall impact of client-side vulnerabilities.
Full Lab Details
Full Topic Details
Students progress from prototype pollution and database injection (SQL and NoSQL) through command injection, SSRF, and XML external entities, learning to move from input-level flaws to full data access and system impact using tools like Burp Suite and sqlmap.
Overview
This section immerses students in a series of labs that move from client-side abuse to deep server-side compromise, with a strong focus on real-world data and control impact. It begins with prototype pollution, where students exploit vulnerabilities in JavaScript’s inheritance model to inject malicious properties into objects. Using Burp Suite’s scanner to crawl and audit, they gain hands-on experience manipulating application behavior and even use protocol pollution to submit an approved vacation leave request, illustrating how subtle client-side flaws can drive serious business logic issues.
The focus then shifts to database injection across both SQL and NoSQL technologies. In the error-based SQL injection lab, students manually discover SQL injection flaws, elicit database error messages, and refine their syntax to avoid errors while still achieving data exfiltration, with and without SQL comments. The NoSQL injection lab extends these skills to modern data stores as students identify NoSQL injection vulnerabilities, determine proper NoSQL syntax, and enumerate all entries in a NoSQL database using Burp Suite to support the workflow. Building on this foundation, a combined sqlmap and Burp lab shows how to bypass client-side JavaScript, use Burp’s Active Scanner, and drive automated exploitation with sqlmap. Students manually exploit a SQL injection flaw, steal credit card numbers, dump user-defined hashes, and crack the password of a user with an owner role using John the Ripper, while also leveraging curl and CeWL. Throughout the database injection modules, students learn to use error messages for non-blind SQL injection, apply indirect techniques for blind SQL injection, and explore error based, union based, blind, and out of band database injection categories. They tie this to concrete impact by examining how database injection affects data integrity and confidentiality and how it can be extended to system level command execution and full system compromise, with sqlmap and Burp Suite as primary tooling.
Command injection is addressed in a dedicated sequence of labs and topics. Students practice identifying and exploiting non blind command injection by injecting commands that produce visible output or errors, and they learn to detect blind command injection using techniques such as ping and DNS queries. Burp Collaborator is used to detect blind command injection and exfiltrate data by triggering network requests to collaborator-controlled endpoints. Students also learn to leverage command line symbols such as semicolons and pipes to inject multiple commands on the target system. A lab on command injection combines Burp Suite, Collaborator, Python, and ChatGPT, where students perform command injection against web applications, use Burp features for reconnaissance and exploitation, and build a DNS exfiltration tool with the help of ChatGPT.
The section continues with server-side request forgery and XML external entities. In the SSRF material, students learn to identify and exploit SSRF vulnerabilities by manipulating input parameters that control server-side requests. They see the impact of SSRF in cloud environments where internal resources can be accessed through metadata endpoints and service APIs. Finally, the XXE content and lab give students hands-on experience with XML external entity vulnerabilities, showing how improper XML handling allows reading variables and local files, fetching and displaying remote content, and executing system commands. They learn techniques that include retrieving local files and performing remote code execution via PHP’s expect:// module and differentiate between blind and non-blind XXE attacks, understanding how to infer information or trigger actions even without direct feedback.
Full Lab Details
Full Topic Details
This section advances from insecure deserialization, file inclusion, Python automation, SSTI, CSRF, and file upload exploitation to Metasploit-driven post-exploitation and the business side of penetration testing, tying technical attacks to logging, logic flaws, LLM risk, and reporting.
Overview
This section brings together advanced web application exploitation techniques with practical scripting and real-world consulting skills. Students begin by investigating an insecure Java deserialization vulnerability. Using Burp Suite and curl, they identify an information leakage issue that exposes local paths, then exploit the Java deserialization flaw with ysomap to steal a secret file. They complete the chain by abusing a file inclusion vulnerability, leaked through the earlier information disclosure, to read the file’s contents. Along the way, they see how insecure deserialization and file inclusion expose sensitive files such as configuration data and source code and how both Local and Remote File Inclusion can lead to remote code execution with the webserver’s privileges.
The section then reinforces automation skills through Python. Students write simple but powerful scripts using the Requests and httpx libraries, reading HTTP response headers and writing them to standard out, and building a basic directory brute forcing script. This supports the broader goal of using Python scripting to automate web application penetration testing, improving efficiency and accuracy in vulnerability discovery. A dedicated Python Pickling lab extends the deserialization theme: students use Burp Suite Professional to analyze an application, scan for vulnerabilities, and review an OpenAPI definition to identify new API paths. They upload and manipulate pickled objects to achieve remote code execution, learning how manipulating serialized data can expose hidden entry points and demonstrate the severe risks of unsecured serialization processes, with Python and Visual Studio Code supporting their workflow.
Server-side template injection is addressed through a focused SSTI lab. Students use Burp’s scanner to audit the website, discover SSTI, and build a proof-of-concept payload. They then demonstrate the impact by accessing the contents of a file on the web server and obtaining remote code execution, directly reflecting the broader topic coverage of server-side template injection and its potential for local file access and code execution.
Cross-Site Request Forgery is tackled through a hands-on CSRF lab using ZAP Proxy. Students gain practical experience with CSRF attacks as they create and execute proof-of-concept code, weaponize a CSRF exploit to change an administrator’s password, and automate exploitation with JavaScript that submits the form for the victim. This ties into the conceptual treatment of CSRF, where they learn techniques to discover CSRF and see how exploitation allows unauthorized actions on behalf of authenticated users, such as transferring funds or modifying settings.
Additional labs and topics expand the view of post-exploitation and professional practice. A file upload and web shell lab has students explore file upload functionality, upload a proof-of-concept payload while circumventing basic controls, and finally upload a web shell to achieve remote code execution using Burp Suite. A Metasploit lab gives hands-on experience with the Metasploit Framework: students navigate msfconsole, exploit a WordPress plugin vulnerability, work with a PHP Meterpreter payload, and save looted files from the compromised target, complementing a high-level module on using Metasploit to demonstrate the impact of public exploits in web applications. Rounding out the section, students consider security logging and monitoring failures, examine issues that lead to logic flaws, learn which items from the OWASP Top 10 for LLM applications matter for web testing, and develop business skills for penetration testing by planning and scoping engagements and turning technical results into impactful reports, executive summaries, and debriefs that support follow-up and continuous improvement.
Full Lab Details
Full Topic Details
During section six, students compete in teams in the ranges.io platform, a powered web application penetration testing tournament. This Capture-the-Flag exercise lets them wield new or sharpened skills to answer questions, complete missions, exfiltrate data, and tackle progressive challenges with hints that support all skill levels and reinforce learning.
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 that meets 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
Additional Hardware Requirements
The requirements below are in addition to the 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.
Additional Software Requirements
Your course media will now be delivered via download. The media files for class can be large, some in the 40 - 50 GB range. You need to allow plenty of time for the download to complete. Internet connections and speed vary greatly and are dependent on many different factors. Therefore, it is not possible to give an estimate of the length of time it will take to download your materials. Please start your course media downloads as you get the link. You will need your course media immediately on the first day of class. Waiting until the night before the class starts to begin your download has a high probability of failure.
SANS has begun providing printed materials in PDF form. Additionally, certain classes are using an electronic workbook in addition to the PDFs. The number of classes using eWorkbooks will grow quickly. In this new environment, we have found that a second monitor and/or a tablet device can be useful by keeping the class materials visible while the instructor is presenting or while you are working on lab exercises.
If you have additional questions about the laptop specifications, please contact customer service.
SEC542 training is recommended for a diverse range of individuals, including:
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.
SEC542 assumes students have a basic working knowledge of the Linux command line.
Courses that lead into SEC542:
Courses that are good follow-ups to SEC542:
The SEC542 course is part of the Offensive Operations Focus Area. Alongside SEC560: Enterprise Penetration Testing, SEC542 is considered one of two courses that together encompass material that every offensive practitioner should know. After completing SEC542, students could continue to gain specialized skills and focused offensive techniques, including Product Security Testing and Kill Chain Defenses, for example.
Web application penetration testing is the practice of simulating real-world attacks against a web application to identify security flaws that could be exploited by adversaries. This includes testing authentication mechanisms, input validation, session management, and business logic, which are all common places where serious vulnerabilities hide.
Using a structured methodology, such as the OWASP Web Security Testing Guide and the OWASP Top 10, security professionals systematically attempt to find and exploit weaknesses the way an attacker would. The goal is not just to break in, but to understand how the attack works, what it exposes, and how to fix the underlying issue.
Because web applications are a primary attack vector in many breaches, proactive testing is essential to a modern security program. Effective web application penetration testing supports compliance, reduces risk, and helps protect both critical data and brand trust.
Taking SEC542 will benefit your career in a number of ways. Here are the top five.
This role tests IT systems and networks and assesses their threats and vulnerabilities. Find the SANS courses that map to the Vulnerability Assessment SCyWF Work Role.
Explore learning pathIdentification and classification of vulnerabilities across systems, applications, and networks. Findings are used to guide patching, mitigation, and security control enhancements.
Explore learning pathResponsible for analyzing the security of new or existing computer applications, software, or specialized utility programs and delivering actionable results.
Explore learning pathResponsible for the secure design, development, and testing of systems and the evaluation of system security throughout the systems development life cycle.
Explore learning pathDefinition of technology solutions that meet functional and non-functional requirements while aligning with strategic goals. Designs integrate security, scalability, and cost-effectiveness.
Explore learning pathResponsible for assessing systems and networks to identify deviations from acceptable configurations, enclave policy, or local policy. Measure effectiveness of defense-in-depth architecture against known vulnerabilities.
Explore learning pathApplication penetration testers probe the security integrity of a company’s applications and defenses by evaluating the attack surface of all in-scope vulnerable web-based services, clientside applications, servers-side processes, and more. Mimicking a malicious attacker, app pen testers work to bypass security barriers in order to gain access to sensitive information or enter a company’s internal systems through techniques such as pivoting or lateral movement.
Explore learning pathResponsible for developing, creating, modifying, and maintaining computer applications, software, or specialized utility programs.
Explore learning pathEnroll your team as a group or arrange a private session for your organization. We’ll help you choose the format that fits your goals.
This course taught me to truly focus on the methodology while performing a pen test. During the Capture the Flag event, I realized how much time can be wasted if you fail to respect your methodology.
As a developer, SEC542 is exactly the kind of course I needed. It showed us what the bad guys look for, which helps protect our software.
SEC542 provides rapid exposure to a variety of tools and techniques invaluable to recon on target site.

Get feedback from the world’s best cybersecurity experts and instructors

Choose how you want to learn - online, on demand, or at our live in-person training events

Get access to our range of industry-leading courses and resources