What you find "hard", other people may find "easy" and vice versa.
It all depends on your background experience. What have you been expose to previously. This defines your current skill level.
To expand your skill set, you need to be able to solve problems.
A very handy skill to learn, is to how to troubleshoot correctly.
Which soon turns towards how to "Search the Internet" efficiently.
(Which may sound like an old joke, but the amount of times people who will say "Ive tried/searched everything", which may end up be a single too generic/Pacific phrase and clicked the first link (or skimmed over the first three), without reading the manual/documentation as they would rather watch on YouTube.
There is also a lot of trying. A lot of failing. A lot of repeating. A lot of experimenting.
...If there wasn't, it would not be fun. You wouldn't learn anything. You wouldn't improve.
With all of this being said, its not easy to define what a challenge should be set at. Below is our take on the matter.
This doesn't mean its correct. Hopefully it can help.
Something to keep in mind, over time, the difficulty may change. This could be because there are tools developed to make it easier, new techniques discovered, as well as unintentional vectors found.
And we are working on adding this into a filter/search on the main site, when v2 is launched (No ETA).
Vulnerability types:
Vulnerability types ("Very Easy" as well as the following):
Vulnerability types ("Very Easy + Easy" as well as the following):
Vulnerability types ("Very Easy + Easy + Medium" as well as the following):
Vulnerability types ("Very Easy + Easy + Medium + Hard" as well as the following):