Post

HTB CWES — Exam Review, Tips & Practice Machines

HTB CWES — Exam Review, Tips & Practice Machines

i passed the htb certified web exploitation specialist exam. i spent my holiday break working through the academy modules, taking notes, and practising, then started the exam with a week left before uni went back.

three days in, i had enough flags to hit the passing score of 80%. the remaining four days i spent almost entirely on polishing my report — more on that later.

here’s what the experience was actually like and what i’d tell anyone about to take it.


the experience

you get 7 days to compromise 5 different web applications and write a commercial-grade penetration test report.

the exam is straightforward in the sense that there’s nothing unfair or out of scope, but it’s definitely not simple. you can’t just throw payloads at a login form and expect a shell. the apps feel like real web apps, not ctf challenges, and you have to get creative with how you chain vulnerabilities together to get from zero to admin.

i got stuck for hours on two of the apps. both times the vulnerability turned out to be something simple — i was just so tunnel-focused on one approach that i couldn’t see it. both times, i stepped away, took a break, came back with a fresh idea, tried it, and it worked. that pattern kept repeating.

this was my first real hacking cert and honestly it taught me a lot about how to look at web applications differently from a security standpoint. before this i’d look at a web app and just see a website. now i look at it and start thinking about what’s happening behind every request, every parameter, every redirect. that shift in perspective alone was worth the grind.


the report

htb’s report grading is strict. like, really strict. they want a proper commercial-quality penetration test report — executive summary, detailed findings with evidence, risk ratings, remediation recommendations, the whole thing.

this is why i spent 4 out of my 7 days on the report even after hitting my passing score. i wasn’t taking any chances. my workflow:

  • set up SysReptor with the CWES template before starting the exam
  • every time i found a vulnerability or got a flag, i wrote it up immediately with screenshots
  • after i had all my flags, i went back and made sure every finding was clear, well-evidenced, and had proper remediation advice
  • last day was proofreading, formatting, and making sure the executive summary actually made sense

set up your report template before you even connect to the vpn. do not leave report writing until the end — your brain will be fried and you’ll hate yourself.


tips

1. document as you go

seriously. i wrote up findings the moment i confirmed them. if i had left all of that for day 6 or 7, i would’ve been cooked. screenshots get messy, you forget exact steps, and the quality drops.

2. move on when you’re stuck

i wasted so many hours tunnelling on two apps. both times the answer was something i would’ve seen earlier if i’d just stepped away and looked at a different target first. when you come back with fresh eyes, things that were invisible before suddenly become obvious.

3. take insane notes during your study

i went through every academy module and wrote my own notes for each one — commands, techniques, examples, all of it. during the exam i was constantly referencing my own cheatsheet. writing things out in your own words is what makes it stick.

4. practise black-box web testing

the skill assessments at the end of each module aren’t really black-box — you already know what vulnerability you’re looking for. the exam is different. you have zero idea what vulns are present, so you need to test everything.

grind through some HTB machines (see the list below) to build that mindset. since the cwes exam is purely web-based, you only need to focus on the initial web access — skip the priv esc, that’s not what you’re training for here.


my cwes cheatsheet

i compiled all of my study notes into a master cheatsheet that i used heavily during both my prep and the exam itself. it covers every vulnerability class from passive recon to server-side attacks with full command references.

sharing it not as a shortcut to pass, but hopefully to give you a starting point for building your own.

CWES Cheatsheet


htb machines for practice

these are boxes i’d recommend for building black-box web testing confidence. focus on the web exploitation foothold only — once you’ve popped the initial access, that’s the skill you’re training for cwes.

don’t feel like you need to do all of these. do enough until you’re comfortable finding web vulns without being told what to look for, then go sit the exam.

#MachineOSKey Focus
1BashedLinuxWeb shell, directory discovery
2BountyHunterLinuxXXE, Python exploitation
3FriendzoneLinuxDNS, LFI
4CronosLinuxDNS zone transfer, command injection
5ShibbolethLinuxIPMI, Zabbix exploitation
6AlertLinuxWeb enumeration
7CapLinuxPCAP analysis, IDOR
8GoodGamesLinuxSQLi, SSTI
9TwoMillionLinuxAPI exploitation
10HeadlessLinuxXSS, command injection
11UsageLinuxSQLi, file upload
12OpenSourceLinuxSource code review, Git
13EditorialLinuxSSRF, API enumeration
14NinevehLinuxBrute force, LFI
15EnterpriseLinuxWordPress, SQLi
16ForgeLinuxSSRF
17RedCrossLinuxXSS, SQLi
18TimingLinuxLFI, mass assignment
19NodeLinuxAPI exploitation, deserialization

if you’re studying for this, especially while balancing uni — just go for it. it’s stressful, but it’s the kind of stress that actually teaches you something.

This post is licensed under CC BY 4.0 by the author.