Hello Everyone! Thank you for following this series and following me, I am very close to 1000 followers.
This is the part 04 of the series, and we are going to start the main app methodology to find the bugs. This is going to be a long one so get Ready!
So the first thing we are gonna start is with Identity Role Testing
So as you know that every website or application has different roles, in this section we are going to test that.
Every application have functionalities and services which required different permission and roles.
For example in Medium we have
and maybe some other roles which all have different permisions, like a normal user cannot access the member-only stories.
So here is when we have to think like a hacker, like what could be the things you would want as an attacker for example Reading members-only stories without being a member. (This is only for example purpose, I am not actually doing this on Medium!)
So for these types of bugs we need to test Role definition
So first, You need to identify the available roles, So we are going to go through the application, use it like a normal user and identify the different roles and make notes of the functionalities and the users who have the permissions to use it.
4. Now you need to test if you can switch the roles, you can practice the labs for this here: https://portswigger.net/web-security/access-control, for example a normal user shouldn’t be able to access the admin functionalities.
5. After gaining access to the roles on the system, you must understand the permissions provided to each role.
6. A good tool to test this is Burp’s Autorize extension.
We are going to see this report: https://hackerone.com/reports/1539426
Submitted by,
nayefhamouda to UPS VDP on April 13, 2022, 5:29am UTC
Here first the tester goes to the target website and click on forgot password, then Enter any email address, then intercept the request and its response.
Then he changed the status value from false to true
After this he could access the user and his reports, and the bug was triaged.
As you know most of the applications offers a user registeration and and login process that automates or semi automates, Many public applications completely automate the registration and provisioning process because the size of the user base makes it impossible to manage manually.
So we can ask some questions to ourself to validate the registeration process:
For Example in Medium To register, we need mail
But it also sends a confirmation code to register, which is a good security practice
Whereas in many websites it doesn’t verify the email and lets you register with any email. Similarly check the other questions.
So for example report we are going to take https://hackerone.com/reports/875049 submitted by dianeme_ on May 15, 2020 on the program U.S. Dept Of Defense
So here the tester explains how he was able to bypass email filter and was able to use Non Accepted Email Types. Many goverment applications allow only gov domain emails for security purposes and doesn’t allow normal domains.
Here first he went to the target website. Then he used the normal gov domain and intercepted the request in burpsuite, then he changed the email parameter to a normal email. And he bypassed it!!
Often, web applications reveal when a username exists on system. For example, sometimes, when we submit wrong credentials, we receive a message that states that either the username is present on the system or the provided password is wrong. The information obtained can be used by to gain a list of users on system.
For example we are going to take report: https://hackerone.com/reports/1166054 submitted by
mohanad987 to UPachieve on April 15, 2021, 9:54pm UTC
Here we can see that the tester explains how he was able to enumerate users emails, First he went to the target domain then used the forgot password function, Then he submitted a random email and intercepted the request by burpsuite and in the response he got revealed that there is no account with that id found.
This was one of hardest to write blog for me, so I’d appreciate it if you could share your thoughts in the comments and let me know if you liked this method. Feel free to provide honest feedback and any advice you might have.
In the next blog we will learn about Authentication.
This topic is very long so we will have 2 parts.
If you want any resources or have any queries free to dm me on instagram:
https://www.instagram.com/om._.arora1603/
Email: [email protected]
Twitter: https://x.com/om83418440
You can also connect with me on linkedin:
https://www.linkedin.com/in/om-arora-b88340213/
Please Consider following and liking if you found it helpful.
You can also support me through: