-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MissingFunctionAC Lesson 4 - Misleading hints #1424
Comments
Thanks for submitting your first issue, we will have a look as quickly as possible. |
Hello Alex, Thank you for opening an issue with so much detail. I will take a look at it and see what can be done. We will keep you informed here of any progress. Regards |
How to log in as that the user,plisss help me |
I agree with @Hosigamix, I have no idea how to "log in" as the new user |
This problem really threw me for a loop. I essentially screwed myself by adding a whole bunch of "Jerry" users with various passwords, and just didn't select the correct hash. Thinking back, I have zero idea why I did this. Step/Challenge 4 has two parts: If you start by attempting to list the users, you'll get a Forbidden error. This is because your WebGoat username isn't in the user list as an "admin" (or at all actually). So you need to create a new user which matches your WebGoat account username and has "admin" set true. Now you should be able to list the users via the I wonder if throwing an error if a user tries to create a username that already exists would help confusion with this problem. I'm curious what would have happened if my WebGoat username was "Jerry" - would I just need to view the user list without actually creating a new user since "Jerry" is already an admin? Shower thoughts... Either way, this was really rewarding to figure out, thanks for maintaining WebGoat! |
Description of the problem
The hints for Lesson 4 of Missing Function Level Access Control are misleading and contradictory. Updating the hints would make the lesson more solvable, as described below.
access-control.hash.hint1 - access-control.hash.hint8
These hints are misleading, since they pertain to Lesson 3. Let's consider removing them from this lesson. Instead, the first hint could e.g. be:
This instructs the user to use a POST request instead.
access-control.hash.hint9
The problem here is that using the registration endpoint payload (
username=newUser2&password=newUser12&matchingPassword=newUser12&agree=agree
) to deduce the attack payload ({"username":"newUser2","password":"newUser12","admin": "true"}
) is nontrivial. Suggested alternative:This will instruct the user to send their POST request with the body
{}
, which in turn will respond with the following information and help the user to further develop their attack:access-control.hash.hint11
This instructs the user to create a new user, contradicting a previous hint to use their current user. Suggested alternative:
access-control.hash.hint12
Not sure what this is asking the user to do, as creating a new user via the endpoint doesn't allow us to log in with it. Suggested alternative:
The text was updated successfully, but these errors were encountered: