The Power Of IDOR even if it is unpredictable IDs
Introduction
Participating in private bug bounty programs can be both thrilling and rewarding. Recently, we had the opportunity to take part in a private bug bounty program on HackerOne. The scope was limited to the main application, and within this constrained environment, we managed to uncover two high-severity vulnerabilities. Here's a detailed account of our findings and the impact they had.
Insecure Direct Object Reference (IDOR) Discloses user's Emails and IDs and other sesetive informations
Overview
Our first significant finding was an Insecure Direct Object Reference (IDOR) vulnerability in one of the API endpoints. This type of vulnerability occurs when an application exposes internal objects to users without proper access control, allowing attackers to manipulate the reference and access unauthorized data.
Vulnerable Endpoint
The endpoint in question was responsible for handling invitations:
By manipulating the Invite-ID
parameter, we could access invitation details of other users, revealing sensitive information such as email addresses, user IDs, and detailed application information.
Steps to Reproduce
Log in to the application.
Intercept the request to
/api/invites/{Invite-ID}
.Change the
Invite-ID
to another valid ID.Observe the response containing sensitive information of other users.
Proof of Concept
A crafted request to the vulnerable endpoint returned the following sensitive data:
Additional Findings
While investigating, we discovered that some of the invite IDs were still valid and could be used by attackers to gain unauthorized access to organizations. These invite IDs were found on public archives, such as the Wayback Machine
, making them easily accessible to malicious actors.
Impact
The vulnerability exposed sensitive information, including user email addresses and detailed project data, which could lead to privacy violations and unauthorized access to user accounts. The discovery of valid invite IDs in public archives further exacerbates the risk, as attackers could leverage these to gain access and infiltrate organizations.
Privilege Escalation in Member Management API
Overview
Our second major finding was a privilege escalation vulnerability in the member management API. This allowed non-team-leader users to access team management details, leading to potential misuse and unauthorized access.
Vulnerable Endpoint
The vulnerable endpoint was responsible for fetching member details:
Steps to Reproduce
Login as a non-team-leader member.
Send an API request to the endpoint with a valid entry ID.
Observe the response containing sensitive team management details.
Proof of Concept
The API response included sensitive information such as invitation keys and email addresses of unaccepted invitations:
Impact
This vulnerability allowed unauthorized users to retrieve and potentially use invitation keys to claim invitations, leading to unauthorized access to team data and operations and impersonating the victim's by claiming their accounts.
Conclusion
Finding and reporting these high-impact vulnerabilities highlighted the importance of thorough testing and the value of private bug bounty programs. By identifying and responsibly disclosing these issues, we helped enhance the security of the application and protected sensitive user information.
Participating in this program was a valuable experience, underscoring the critical role of security researchers in safeguarding digital platforms. If you're a fellow bug hunter or just getting started, remember that even within limited scopes, there's always potential to uncover significant vulnerabilities. Happy hunting!
Note: Specific details and sensitive information have been redacted to protect the confidentiality of the program and its users.
Last updated