Playing CTFs can be a good way to learn some cool vulnerabilities and get some confidence writing your own exploits.  Yet I felt the need to adapt more pragmatic methods in my approaches. In CTF, you get many hints by asking some questions like where is the flag ?
and what is the task name ?
or was anything told in the description
. All of that gives you a clear vision of what you need to achieve and upon that you look for exploits to chain and solve the challenge. I knew that it was not enough and that I need to build a solid foundation that allows me to know what to look for and adapt some pragmatic approaches in solving real world problems.
Well, I hopped on the Pentesterlab platform 3 months ago, I managed to finish 98% of the challenges and well most of the badges. As a matter of fact the real progress was done in the span of 3 weeks. It was a bit crazy, I know but I wasn’t sure that I would have free time after. Today, I want to share with you what I learnt and things I used to get most of the labs.
1. Labs are only starter points
The labs are so straight to the point. They will have a course included but it will be short and most of the time it won’t help you understand a specific topic. Let’s take an example of the OAuth
 challenges. I wasn’t able to finish those challenges till I did a thorough research on the topic and understood the standard and its different implementation.
It took me two days or so to go through all the available material and to skim through some write ups of old ctf
tasks. What I understood that I wouldn’t understand it the same if it was in a competition. I would solve the task and move on acquiring only a very narrow understanding.
2. Choose your own path
- I didn’t go through the badges as they were shown in the bootcamp. I did them in a quite chaotic way. the
code review
labs are time consuming and are all about reading code while being super attentive. I did them when I felt able to concentrate. The other badges I did were in order unless the name indicates that it’s not related to any previous one.
This approach helped me stay concentrated and avoid getting bored. Also, There are some badges that I finished in a day like linux
and introduction
which are quite easy. I just did them for fun and to make sure I didn’t miss anything 😀
3. Note taking
- It’s so important to take notes. You have the perfect opportunity to build your cheatsheet and holy hacking book. All materials are accessible to you yet it’s not organized and you need to link the dots and build your own tree of knowledge. Also, you can build a library of scripts that you can use and trust me you will.
While doing the
Authorization
badge I wrote a lot of JWT scripts and since then I never did again. All I have to do is copy paste edit a line or two and run it.
I got all the scripts saved within my notes. I just open with vs code and do some all files search
and find what I need.
4. Forget about the video solutions
I only watched the video solutions few times maybe for 5,6 labs and they were crypto heavy. I neglected the importance of cryptography before, yet I discovered it was one of the very fundamentals that anyone want to get deeper into web exploitation should understand as it exists pretty much everywhere. It doesn’t matter if it takes you 3 days, one week or even a month to finish a lab. You can switch to another one and go back to it later.
Cryptography side of the web was a huge barrier that I had in the past. It was hard and boring to approach on my own and the labs were so helpful to approach it.
In conclusion, if you’re interested in penetration testing and want to improve your skills, PentesterLab is an excellent platform to consider. With its hands-on approach, real-world scenarios, and wealth of resources, it provides a comprehensive and accessible way to learn. Go for it and if you need any hints or your university email is not included for student discounts feel free to contact the support. Happy hacking 👾