Recently I started a new job where a portion of my work was related to Application Security. I have done a number of web application assessments before, however it has always been my weakest area. I have read most of the usual web application testing resources which you can find listed here. I have also submitted to bug bounty programs, so the only material I felt I could benefit from were labs. I needed something hands-on that covered a wide range of web vulnerabilities and real world web exploit scenarios.
PentesterLab is a set of exercises downloaded as ISO’s which include course material that can be worked through to expand one’s skillset. I personally started with the free material and even used the ISO’s to create tools. After completing a number of the ISO’s, I noticed some very intriguing material was released for the Pro edition. I decided that getting the Pro subscription was more than worth it, so I signed up.
Navigating the Site
Once I logged in, I was greeted with a straightforward interface and a clear path to further develop my skillset. I started with the Introduction Badge which familiarized me to the scoring system and a few web fundamentals. Much of the material wasn’t new to me, but it is an excellent building block for anyone new to web application penetration testing:
The Essentials Badge section is where I really started to improve my skills. This section contains 60 exercises covering the following topics:
- Authorization issues
- Code Execution
- Command Execution
- Directory Traversal
- File Includes
- LDAP Injection
- MongoDB issues
- Open Redirection
- SQL Injection
- SSRF [Server Side Request Forgery]
- SSTI [Server Side Template Injection]
- File Upload Vulnerabilites
- XML Injection
- XSS [Cross Side Scripting]
Anybody who does web application testing will tell you that this list of exercises is a great foundation for moving into web application penetration testing or just improving your bug hunting skills. By moving through these exercises, I was able to increase my understanding of web technologies, increase my ability to use tooling to solve challenges, and also get hands-on experience with a plethora of vulnerability types.
All of these exercises can be found in the Essentials Badge section and are are tracked and hosted online, which makes them accessible everywhere. I was able to login effortlessly at home or work to complete challenges:
Certificates of Completion
When you complete these challenges, you are issued a certificate of completion. These are both a nice trophy for yourself and something you can show to potential or current employers. These certificates are easily accessible in your account at all times:
After working through these exercises, you build a strong foundation to move on to the other exercises. These are longer, more challenging exercises that contain real-world exploit scenarios. These are ranked by difficulty, so you can guide your own learning and gradually build up your skills. New exercises are added frequently, making this a modern and challenging experience. Small hang ups can teach you the little details that are necessary in testing web apps.
A list of exercises can be found here
Overall, PentesterLab Pro is a great experience. I recently completed the Essentials Badge along with a few of the longer exercises. This has taught me quite a bit already. I can also say that I have used some of these techniques in my daily work. The price is also very reasonable compared to other training. If you want additional details about getting Pro you can go here