Академический Документы
Профессиональный Документы
Культура Документы
eLearnSecurity has been chosen by students in over 140 countries in the world
and by leading organizations such as:
INTRODUCTION
COURSE DESCRIPTION
Web Application Penetration Testing eXtreme is a practical online course on the
most advanced web application penetration testing techniques.
This training course is tied to Hera Lab where students will access a number of
laboratories for each learning module.
PRE-REQUISITES
• Penetration Testers
• Web Developers
• IT Security professionals with a technical background
ORGANIZATION OF CONTENTS
The WAPTX is a follow up of the WAPT course, but at an “extreme” level. This course
brings students into a new world of advanced exploitation techniques using real-
world scenarios – all served with challenging and extremely hands-on laboratories in
which to put the covered techniques into practice.
Understanding what kind of data encoding is used and how it works is fundamental
and ensures that the tests are performed as intended, which is why this module starts
with the basic concept of data encoding.
The following section is about filtering basics, starting from a brief introduction on
how to deal with regular expression, to understanding how to detect, fingerprint and
evade web application firewalls. We conclude by analyzing the most common client-
side defensive mechanism.
1. Introduction
1.1. Data encoding basics
1.1.1. Dissecting encoding types
1.1.1.1. URL Encoding
1.1.1.2. HTML Encoding
Document character encoding
Character references
1.1.1.3. Base (36|64) encoding
Base 36
Base 64
1.1.1.4. Unicode encoding
1.1.2. Multiple (De|En)codings
1.2. Filtering basics
1.2.1. Regular Expressions
1.2.1.1. Metacharacters
1.2.1.2. Shorthand character classes
1.2.1.3. Non-printing characters
1.2.1.4. Unicode
1.2.2. Web Application Firewall
1.2.2.1. WAF Detection and Fingerprinting
1.2.3. Client-side Filters
To ensure that you have a complete understanding of filters and encoding, this
module introduces the main evasion techniques that start from Base64 and lesser-
known URI obfuscation techniques and concludes with JavaScript and PHP
obfuscation techniques.
2. Introduction
2.1. Base64 Encoding evasion
2.2. URI Obfuscation techniques
2.2.1. URL shortening
2.2.2. URL Hostname obfuscation
2.3. JavaScript Obfuscation Techniques
2.3.1. JavaScript Encoding
2.3.1.1. Non-alphanumeric
2.3.2. JavaScript Compressing
2.3.2.1. Minifying
2.3.2.2. Packing
2.4. PHP Obfuscation Techniques
2.4.1. Basic Language Reference
2.4.1.1. Type Juggling
2.4.1.2. Numerical Data types
2.4.1.3. String Data types
2.4.1.4. Array Data types
2.4.1.5. Variable Variables
2.4.2. Non-alphanumeric Code
2.4.2.1. String generation
2.4.2.2. Hackvector.co.uk
This module covers how to use the most advanced tools available, and exploit any
kind of XSS.
3. Introduction
3.1. Cross-Site Scripting
3.1.1. Reflected XSS
3.1.2. Persistent XSS
3.1.3. DOM XSS
3.1.4. Universal XSS
3.2. XSS Attacks
3.2.1. Cookie Grabbing
3.2.1.1. Script Injection
3.2.1.2. Cookie Recording & Logging
3.2.1.3. Bypassing HTTPOnly flag
Cross-site Tracing (XST)
CVE: 2012-0053
BeEF’s Tunneling Proxy
3.2.2. Defacements
3.2.2.1. Virtual Defacement
3.2.2.2. Persistent Defacement
3.2.3. Phishing
3.2.4. Keylogging
3.2.4.1. Keylogging with Metasploit
3.2.4.2. Keylogging with BeEF
3.2.5. Network Attacks
3.2.5.1. IP detection
3.2.5.2. Subnet detection
3.2.5.3. Ping Sweeping
3.2.5.4. Port Scanning
Simple Port Scanner
HTML5 alternatives
3.2.6. Self-XSS
The student will not only find a number of well-known vectors but will also
understand how to find new ones.
At the end of this module, the student will be able to recognize the presence of WAF’s
and filters and implement effective bypassing techniques.
4. Introduction
4.1. Bypassing Blacklisting Filters
4.1.1. Injecting Script Code
4.1.1.1. Bypassing weak <script> tag banning
4.1.1.2. ModSecurity > Script tag based XSS
4.1.1.3. Beyond <script> tag…Using HTML attributes
4.1.2. Keyword based filter
4.1.2.1. Character escaping
Unicode
Decimal, Octal, Hexadecimal
4.1.2.2. Constructing Strings
4.1.2.3. Execution Sinks
4.1.2.4. Pseudo-protocols
Data
Vbscript
4.2. Bypassing Sanitization
4.2.1. String Manipulations
4.2.1.1. Removing HTML Tags
4.2.1.2. Escaping Quotes
4.2.1.3. Escape Parenthesis
4.3. Bypassing Browser Filters
4.3.1. (Un)Filtered Scenarios
4.3.1.1. Injecting inside HTML attributes
4.3.1.2. Injecting inside SCRIPT tag
4.3.1.3. Injecting inside event attributes
4.3.1.4. DOM Based
4.3.1.5. Other scenarios
5. Introduction
5.1. XSRF: Recap & More
5.1.1. Vulnerable scenario
5.2. Attack Vectors
5.2.1. Force Browsing with GET
5.2.1.1. Example: Change email address
5.2.2. Post Requests
5.2.2.1. Auto-submitting from > v1
5.2.2.2. Auto-submitting form > v2
5.3. Exploiting Weak Anti-CSRF Measures
5.3.1. Using Post-only requests
5.3.2. Multi-Step Transactions
5.3.3. Checking Referer Header
5.3.4. Predictable Anti-CSRF token
5.3.5. Unverified Anti-CSRF token
5.3.6. Secret Cookies
5.4. Advanced CSRF Exploitation
MODULE 6: HTML5
This module is entirely dedicated to HTML5 and its new attack vectors. It starts from
a recap of this language, analyzing the main features to focus our security research.
After that, we will go deep into the main exploitation techniques and attack
scenarios. Once the security concerns related to HTML5 features are analyzed, the
student will learn about the most common security mechanisms developers use.
These are critical in understanding how to leverage even more sophisticated attacks.
The module concludes with an analysis of the UI redressing attacks and an overview
of related new attack vectors introduced with HTML5.
6. Introduction
6.1. HTML5: Recap & More
6.1.1. Semantics
6.1.1.1. New attack vectors
Form Elements
Media Elements
Semantic/Structural Elements
Attributes
6.1.2. Offline & Storage
6.1.2.1. Web Storage > Attack Scenario
Session Hijacking
6.1.2.2. Offline Web Application > Attack Scenario
6.1.3. Device Access
6.1.3.1. Geolocation > Attack Scenario
6.1.3.2. Fullscreen mode > Attack Scenario
Phishing
6.1.4. Performance, Integration & Connectivity
6.1.4.1. Attack Scenarios
6.2. Exploiting HTML5
6.2.1. CORS Attack Scenario
LikeJacking
StrokeJacking
6.4.1. New Attack Vectors in HTML5
6.4.1.1. Drag-and-Drop
Text Field Injection
Content Extraction
7. Introduction
7.1. SQL Injection: Recap & More
7.2. Exploiting SQLi
7.2.1. Techniques Classification
7.2.2. Gathering Information from the Environment
7.2.2.1. Identify the DBMS
Error Codes Analysis > MySQL
Error Codes Analysis > MSSQL
Error Codes Analysis > Oracle
Banner Grabbing
Educated Guessing
String Concatenation
Numeric Functions
SQL Dialect
7.2.2.2. Enumerating the DBMS Content
MySQL
MSSQL
Oracle
Tables & Columns
Users and Privileges
7.3. Advanced SQLi Exploitation
7.3.1. Out-of-Band Exploitation
7.3.1.1. Alternative OOB Channels
7.3.1.2. OOB vi HTTP
Oracle URL_HTTP Package
Oracle HTTPURITYPE Package
7.3.1.3. OOB via DNS
At the end of this module, the student will be able to recognize the presence of WAF’s
and filters and implement effective bypassing techniques.
8. Introduction
8.1. DBMS gadgets
8.1.1. Functions
8.1.2. Constants and variables
8.1.3. System variables
8.1.4. Typecasting
8.2. Bypassing Keywords filters
8.2.1. Using comments
8.2.2. Case changing
8.2.3. Replaced keywords
8.2.4. Circumventing by Encoding
8.2.5. URL encode
8.2.6. Double URL encode
8.2.7. Characters encoding
8.2.8. Inline comments
8.2.9. Allowed Whitespaces
8.3. Bypassing Functions filters
8.4. Bypassing Regular Expression filters
At the end of this module, the student will be able to pentest complex applications
using XML.
9. Introduction
9.1. XML Attacks: Recap & More
9.1.1. Entities block
9.1.1.1. XML Document with External DTD + Entities
9.2. XML Tag Injection
9.2.1. Testing XML Injection
9.2.1.1. Single/Double Quotes
9.2.1.2. Ampersand
9.2.1.3. Angular parentheses
9.2.1.4. XSS with CDATA
9.3. XML eXternal Entity
9.3.1. Taxonomy
9.3.1.1. External Entities: Private vs. Public
9.3.2. Resource Inclusion
9.3.3. Resource Inclusion – Improved
9.3.3.1. Invalid resource to extract
9.3.3.2. CDATA Escape using Parameter Entities
9.3.3.3. php://I/O Stream
9.3.4. Bypassing Access Control
9.3.5. Out-Of-Band Data Retrieval
9.3.5.1. OOB via HTTP
9.3.5.2. OOB via HTTP using XXEServe
9.4. XML Entity Expansion
9.4.1. Recursive Entity Expansion
9.4.1.1. Billion Laugh Attack
9.4.2. Generic Entity Expansion
9.4.2.1. Quadratic Blowup Attack
9.4.3. Remote Entity Expansion
Based in Santa Clara, California, with offices in Pisa, Italy, and Dubai, UAE, Caendra
Inc. is a trusted source of IT security skills for IT professionals and corporations of all
sizes. Caendra Inc. is the Silicon Valley-based company behind the eLearnSecurity
brand.
Contact details:
www.elearnsecurity.com
contactus@elearnsecurity.com