Sec-88
  • πŸ§‘Whoami
  • πŸ•ΈοΈWeb-AppSec
    • Features Abuse
      • 2FA
      • Ban Feature
      • CAPTCHA
      • Commenting
      • Contact us
      • File-Upload
      • Inviting Feature
      • Messaging Features
      • Money-Related Features
      • Newsletter
      • Profile - Settings
      • Registration
      • Reset Password
      • Review
      • Rich Editor/Text
      • Social Sharing
      • Billing-Shipping Address Management
      • Integrations - Webhooks
      • API Key Management
    • Reconnaissance
      • Attacking Organizations with big scopes
    • Subdomain Enumeration
    • Fingerprinting
    • Dorking
    • XSS-HTML Injection
    • Improper Authentication
      • JWT Security
    • OAUTH Misconfigurations
      • OAuth 2.0 Basics
      • OAUTH Misconfigurations
    • Auth0 Misconfigurations
    • Broken Access Control
      • Insecure Direct Object References (IDOR)
      • 403 Bypass
    • Broken Link Injection
    • Command Injection
    • CORS
    • CRLF
    • CSRF
    • Host Header Attacks
    • HTTP request smuggling
    • JSON Request Testing
    • LFI
      • LFI to RCE
    • No Rate Limit
    • Parameters Manual Testing
    • Open Redirect
    • Registration & Takeover Bugs
    • Remote Code Execution (RCE)
    • Session Fixation
    • SQL Injection
      • SQL To RCE
    • SSRF
    • SSTI
    • Subdomain Takeover
    • Web Caching Vulnerabilities
    • WebSockets
    • XXE
      • XXE to RCE
    • Cookie Based Attacks
    • CMS
      • AEM [Adobe CMS]
    • XSSI (Cross Site Script Inclusion)
    • NoSQL injection
    • Local VS Remote Session Fixation
    • Protection
      • Security Mechanisms for Websites
      • Cookie Flags
      • SameSite Cookie Restrictions
      • Same-origin policy (SOP)
      • CSP
    • Hacking IIS Applications
    • Dependency Confusion
    • Attacking Secondary Context
    • Hacking Web Sockets
    • IDN Homograph Attack
    • DNS Rebinding Attack
    • LLM Hacking Checklist
    • Bypass URL Filtration
    • Cross-Site Path Traversal (CSPT)
    • PostMessage Security
    • Prototype Pollution
      • Client-Side Prototype Pollution
      • Server-Side prototype pollution
    • Tools-Extensions-Bookmarks
    • WAF Bypassing Techniques
    • SSL/TLS Certificate Lifecycle
    • Serialization in .NET
    • Client-Side Attacks
      • JavaScript Analysis
    • Bug Bounty Platforms/Programs
  • βœ‰οΈAPI-Sec
    • GraphQL API Security Testing
      • The Basics
      • GraphQL Communication
      • Setting Up a Vulnerable GraphQL Server
      • GraphQL Hacking Tools
      • GraphQL Attack Surface
      • RECONNAISSANCE
      • GraphQL DOS
      • Information Disclosure
      • AUTHENTICATION AND AUTHORIZATION BYPASSES
      • Injection Vulnerabilities in GraphQL
      • REQUEST FORGERY AND HIJACKING
      • VULNERABILITIES, REPORTS AND EXPLOITS
      • GraphQL Hacking Checklist
    • API Recon
    • API Token Attacks
    • Broken Object Level Authorization (BOLA)
    • Broken Authentication
    • Evasive Maneuvers
    • Improper Assets Management
    • Mass Assignment Attacks
    • SSRF
    • Injection Vulnerabilities
    • Excessive Data Exposure
    • OWASP API TOP 10 MindMap
    • Scanning APIs with OWASP ZAP
  • πŸ“±Android-AppSec
    • Setup Android App Pentesting environment on Arch
    • Setup Android App Pentesting environment on Mac M4
    • Setup Android Pentesting Environment on Debian Linux
    • Android App Fundamentals
      • Android Architecture
      • Android Security Model
      • Android App Components
        • Intents
        • Pending Intents
    • Android App Components Security Cheatsheet
    • Android App Pentesting Checklist
    • How To Get APK file for application
    • ADB Commands
    • APK structure
    • Android Permissions
    • Exported Activity Hacking
    • BroadcastReceiver Hacking
    • Content Provider Hacking
    • Signing the APK
    • Reverse Engineering APK
    • Deep Links Hacking
    • Drozer Cheat Sheet
    • SMALI
      • SMALI Cheat Sheet
      • Smali Code Patching Guide
    • Intent Redirection Vulnerability
    • Janus Vulnerability (CVE-2017-13156)
    • Task Hijacking
    • Hacking Labs
      • Injured Android
      • Hacking the VulnWebView Lab
      • Hacking InsecureBankv2 App
    • Frida Cheat Sheet
  • πŸ“ΆNetwork-Sec
    • Networking Fundamentals
    • Open Ports Security Testing
    • Vulnerability Scanning
    • Client Side Attacks
    • Port Redirection and Tunneling
    • Password Attacks
    • Privilege Escalation [PrevEsc]
      • Linux Privilege Escalation
    • Buffer Overflow (BOF)
      • VulnServer
      • Sync Breez Enterprize
      • Crashed CTF
      • BOF for Linux
    • AV Evasion
    • Post Exploitation
      • File Transfer
      • Maintaining Access
      • Pivoting
      • Clean Up
    • Active Directory
      • Basic AD Pentesting
  • πŸ’»Desktop AppSec
    • Thin Client vs. Thick Client
  • ☁️Cloud Sec
    • Salesforce Hacking
      • Basics
      • Salesforce SAAS Apps Hacking
    • Firebase
    • S3 Buckets Misconfigurations
  • πŸ‘¨β€πŸ’»Programming
    • HTML
    • JavaScript (JS)
      • window.location object
    • Python
      • Python Tips
      • Set
        • SetMethods
    • JAVA
      • Java Essentials
      • Java Essentials Code Notes
      • Java OOP1
      • JAVA OOP Principles
        • Inheritance
        • Method Overriding
        • Abstract Class
        • Interface
        • polymorphism
        • Encapsulation
        • Composition
      • Java OOP Challenges
      • Exception Handling
    • Go
      • Go Syntax Tutorial in one file
      • Methods and Interfaces
      • Go Slices
      • Go Maps
      • Go Functions
      • Concurrency
      • Read Files
      • Write Files
      • Package
        • How to make personal Package
        • regexp Packages
        • Json
        • bufio
        • Time
      • Signals-Exit
      • Unit Testing
  • πŸ–₯️Operating Systems
    • Linux
      • Linux Commands
      • Tools
      • Linux File System
      • Bash Scripting guide
      • tmux
      • Git
      • Install Go tools from private repositories using GitHub PAT
    • VPS
    • Burp Suite
  • ✍️Write-Ups
    • Hunting Methodology
    • API BAC leads to PII Data Disclosure
    • Misconfigured OATUH leads to Pre-Account Takeover
    • Automating Bug Bounty with GitHub Actions
    • From Recon to Reward: My Bug Bounty Methodology when Hunting on Public Bug Bounty Programs
    • Exploring Subdomains: From Enumeration to Takeover Victory
    • 0-Click Account Takeover via Insecure Password Reset Feature
    • How a Simple Click Can Lead to Account Takeover: An OAuth Insecure Implementation Vulnerability
    • The Power Of IDOR even if it is unpredictable IDs
    • Unlocking the Weak Spot: Exploiting Insecure Password Reset Tokens
    • AI Under Siege: Discovering and Exploiting Vulnerabilities
    • Inside the Classroom: How We Hacked Our Way Past Authorization on a Leading EdTech Platform
    • How We Secured Our Client’s Platform Against Interaction-Free Account Thefts
    • Unchecked Privileges: The Hidden Risk of Role Escalation in Collaborative Platforms
    • Decoding Server Behavior: The Key to Mass Account Takeover
    • Exploiting JSON-Based CSRF: The Hidden Threat in Profile Management
    • How We Turned a Medium XSS into a High Bounty by Bypassing HttpOnly Cookie
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Web-AppSec

Broken Access Control

PreviousAuth0 MisconfigurationsNextInsecure Direct Object References (IDOR)

Last updated 1 year ago

Was this helpful?

Play with Request / Response

Excessive Data Exposure

Broken Function Level Authorization

Mass Assignment

  1. Enumerate object properties

Improper Assets Management

Checklist

IDOR Checklist

GET /api_v1/messages ->200GET /api_v1/messages?user_id=victim_uuid ->200
GET /api_v1/messages?user_id=attacker_id&user_id=victim_idGET /api_v1/messages?user_id=victim_id&user_id=attacker_id
GET /user_data/2341        -> 401GET /user_data/2341.json   -> 200GET /user_data/2341.xml    -> 200GET /user_data/2341.config -> 200GET /user_data/2341.txt    -> 200
{"userid":1234,"userid":2542}
{"userid":123} ->401{"userid":[123]} ->200
{"userid":123} ->401{"userid":{"userid":123}} ->200
GET /v3/users_data/1234 ->401GET /v1/users_data/1234 ->200
GET /GetUser/dmljdGltQG1haWwuY29t
[...]
  • change HTTP method

GET /users/delete/victim_id  ->403
POST /users/delete/victim_id ->200
  • Try replacing parameter names

Instead of this:
GET /api/albums?album_id=<album id>

Try This:
GET /api/albums?account_id=<account id>

Tip: There is a Burp extension called Paramalyzer which will help with this by remembering all the parameters you have passed to a host.
  • Path Traversal

POST /users/delete/victim_id          ->403
POST /users/delete/my_id/..victim_id  ->200
  • change request content-type

Content-Type: application/xml ->
Content-Type: application/json
  • swap non-numeric with numeric id

GET /file?id=90djbkdbkdbd29dd
GET /file?id=302
  • Missing Function Level Acess Control

GET /admin/profile ->401
GET /Admin/profile ->200
GET /ADMIN/profile ->200
GET /aDmin/profile ->200
GET /adMin/profile ->200
GET /admIn/profile ->200
GET /admiN/profile ->200
  • send wildcard instead of an id

GET /api/users/user_id ->
GET /api/users/*
  • Never ignore encoded/hashed ID

for hashed ID ,create multiple accounts and understand the ppattern application users to allot an iD
  • Google Dorking/public form

search all the endpoints having ID which the search engine may have already indexed
  • Bruteforce Hidden HTTP parameters

use tools like arjun , paramminer 
  • Bypass object level authorization Add parameter onto the endpoit if not present by defualt

GET /api_v1/messages ->200
GET /api_v1/messages?user_id=victim_uuid ->200
  • HTTP Parameter POllution Give mult value for same parameter

GET /api_v1/messages?user_id=attacker_id&user_id=victim_id
GET /api_v1/messages?user_id=victim_id&user_id=attacker_id
  • change file type

GET /user_data/2341        -> 401
GET /user_data/2341.json   -> 200
GET /user_data/2341.xml    -> 200
GET /user_data/2341.config -> 200
GET /user_data/2341.txt    -> 200
  • json parameter pollution

{"userid":1234,"userid":2542}
  • Wrap the ID with an array in the body

{"userid":123} ->401
{"userid":[123]} ->200
  • wrap the id with a json object

{"userid":123} ->401
{"userid":{"userid":123}} ->200
  • Test an outdata API version

GET /v3/users_data/1234 ->401
GET /v1/users_data/1234 ->200
  • If the website using graphql, try to find IDOR using graphql!

GET /graphql
[...]
GET /graphql.php?query=
[...]

Authorization Bypass reports from HackerOne:

Use param-miner tool OR to guess parameters

Encrypted IDs: If application is using encrypted IDs, try to decrypt using or other tools.

When a user uploads an image in , the uploaded image’s EXIF Geolocation Data does not gets stripped. As a result, anyone can get sensitive information of users like their Geolocation, their Device information like Device Name, Version, Software & Software version used etc.

Got to Github ( )\

open it ()

[X-Original-URL:] or other headers that backend handle it to give access

[ Changing the method of the request ]

[ Do a need-privilege action with non-privilege user even if there is confirmation step ]

[ backend depends on referrer header to access the user to do sensitive actions ]

to Shopify - 1812 upvotes, $0

to Shopify - 872 upvotes, $0

to Upserve - 602 upvotes, $0

to LINE - 554 upvotes, $0

to Ubiquiti Inc. - 540 upvotes, $0

to Shopify - 533 upvotes, $0

to LINE - 485 upvotes, $0

to Shopify - 362 upvotes, $13337

to GitLab - 337 upvotes, $0

to Razer - 311 upvotes, $1000

to Shopify - 290 upvotes, $20000

to LocalTapiola - 261 upvotes, $18000

to HackerOne - 257 upvotes, $2500

to Keybase - 245 upvotes, $5000

to GitLab - 237 upvotes, $0

to Shopify - 230 upvotes, $15250

to GitLab - 230 upvotes, $0

to GitLab - 223 upvotes, $3000

to GitLab - 222 upvotes, $4000

to Zomato - 213 upvotes, $750

to Grammarly - 212 upvotes, $10500

to GitLab - 211 upvotes, $0

to Semmle - 202 upvotes, $1500

to TikTok - 201 upvotes, $15000

to Razer - 199 upvotes, $200

to Upserve - 198 upvotes, $1500

to Uber - 196 upvotes, $4500

to HackerOne - 193 upvotes, $3000

to pixiv - 183 upvotes, $2000

to HackerOne - 180 upvotes, $0

to PayPal - 694 upvotes, $10500

to Nord Security - 337 upvotes, $0

to HackerOne - 280 upvotes, $0

to Pornhub - 266 upvotes, $1500

to Pornhub - 246 upvotes, $1500

to Starbucks - 221 upvotes, $0

to TikTok - 193 upvotes, $0

to Yelp - 181 upvotes, $0

to Automattic - 178 upvotes, $0

to Unikrn - 167 upvotes, $3000

to Reddit - 159 upvotes, $5000

to Semrush - 155 upvotes, $0

to Automattic - 144 upvotes, $0

to Mail.ru - 120 upvotes, $3000

to Acronis - 119 upvotes, $0

to Reddit - 115 upvotes, $5000

to X (Formerly Twitter) - 110 upvotes, $289

to CS Money - 110 upvotes, $0

to BCM Messenger - 105 upvotes, $0

to Uber - 103 upvotes, $2000

πŸ•ΈοΈ
tool
read more
Arjun
hashes.com
example.com
example.com
https://github.com/ianare/exif-samples/tree/master/jpg
http://exif.regex.info/exif.cgi
IDOR with Geolocation data not stripped from images
Disclose Private Dashboard Chart's name and data in Facebook Analytics
Disclosing privately shared gaming clips of any user
Adding anyone including non-friend and blocked people as co-host in personal event!
Page analyst could view job application details
Deleting Anyone's Video Poll
User role controlled by request parameter
User role can be modified in user profile
User ID controlled by request parameter
User ID controlled by request parameter, with unpredictable user IDs
User ID controlled by request parameter with data leakage in redirect
User ID controlled by request parameter with password disclosure
URL-based access control can be circumvented
Method-based access control can be circumvented
Multi-step process with no access control on one step
Referer-based access control
Email Confirmation Bypass in myshop.myshopify.com that Leads to Full Privilege Escalation to Any Shop Owner by Taking Advantage of the Shopify SSO
[Part II] Email Confirmation Bypass in myshop.myshopify.com that Leads to Full Privilege Escalation
Ability to reset password for account
Request smuggling on admin-official.line.me could lead to account takeover
Privilege Escalation From user to SYSTEM via unauthenticated command execution
Email Confirmation Bypass in your-store.myshopify.com which leads to privilege escalation
Able to Become Admin for Any LINE Official Account
H1514 Ability to MiTM Shopify PoS Session to Takeover Communications
Attacker is able to access commit title and team member comments which are supposed to be private
[Razer Pay Mobile App] Broken access control allowing other user's bank account to be deleted
Shopify admin authentication bypass using partners.shopify.com
Oracle Webcenter Sites administrative and hi-privilege access available directly from the internet (/cs/Satellite)
Team member with Program permission only can escalate to Admin permission
Linux privilege escalation via trusted $PATH in keybase-redirector
Bypass Email Verification -- Able to Access Internal Gitlab Services that use Login with Gitlab and Perform Check on email domain
Ability to bypass partner email confirmation to take over any store given an employee email
Privilege escalation from any user (including external) to gitlab admin when admin impersonates you
Ability to bypass email verification for OAuth grants results in accounts takeovers on 3rd parties
Unauthenticated blind SSRF in OAuth Jira authorization controller
[www.zomato.com] Blind XSS on one of the Admin Dashboard
Ability to DOS any organization's SSO and open up the door to account takeovers
Ability To Delete User(s) Account Without User Interaction
Privilege escalation in workers container
Incorrect authorization to the intelbot service leading to ticket information
Admin Management - Login Using Default Password - Leads to Image Upload Backdoor/Shell
Ability to create own account UUID leads to stored XSS
Unauthorized access to β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ.com allows access to Uber Brazil tax documents and system.
HackerOne Jira integration plugin Leaked JWT to unauthorized jira users
Stealing Users OAuth authorization code via redirect_uri
Unauthorized access to metadata of undisclosed reports that were retested
Top IDOR Reports
IDOR to add secondary users in www.paypal.com/businessmanage/users/api/v1/users
IDOR allow access to payments data of any user
Insecure Direct Object Reference (IDOR) - Delete Campaigns
idor allows you to delete photos and album from a gallery
IDOR allows any user to edit others videos
Singapore - Account Takeover via IDOR
IDOR delete any Tickets on ads.tiktok.com
I.D.O.R To Order,Book,Buy,reserve On YELP FOR FREE (UNAUTHORIZED USE OF OTHER USER'S CREDIT CARD)
IDOR when editing users leads to Account Takeover without User Interaction at CrowdSignal
An IDOR that can lead to enumeration of a user and disclosure of email and phone number within cashier
IDOR allows an attacker to modify the links of any user
IDOR in the https://market.semrush.com/
IDOR leads to Edit Anyone's Blogs / Websites
[api.pandao.ru] IDOR for order delivery address
IDOR vulnerability (Price manipulation)
Getting access of mod logs from any public or restricted subreddit with IDOR vulnerability
IDOR and statistics leakage in Orders
IDOR in https://3d.cs.money/
IDOR leading to downloading of any attachment
IDOR leads to leak analytics of any restaurant