← Back to list

V1 IDOR

IDOR (Insecure Direct Object Reference)

The Cyber Ghost · 2025-05-22 07:52 · 1 claps · 1.0 min read
#idor-vulnerability #idor #idor-poc #bug-bounty #bug-bounty-tips
Open on Medium ↗
Wiki topics: 🔒 · Cybersecurity

Vuln1 IDOR

IDOR (Insecure Direct Object Reference)

📌 Definition:

IDOR occurs when applications expose internal objects (like user IDs, files, or database records) in the URL or request parameters without verifying authorizan.

Example:

GET /invoice/123

Changing 123 to 124 could let an attacker view someone else's invoice.

Forced Browsing

📌 Definition:

Manually accessing restricted or hidden URLs without proper authentication.

Example:

/admin /uploads/private-file.pdf

If these are accessible without proper authentication, the site is vulnerable.

Partial / Differential Responses

📌 Definition:

Web apps respond differently to valid vs invalid object IDs, which can help attackers enumerate valid references.

Example:

  • user_id=101 ➝ Returns full user profile.
  • user_id=999 ➝ Returns “User not found.”

Attackers use this behavior to confirm valid IDs for exploitation (often used with IDOR).

HTTP Parameter Pollution (HPP)

📌 Definition:

Manipulating the request by injecting multiple parameters with the same name to confuse or bypass validation logic.

Example:

GET /profile?user_id=101&user_id=102

if the application inconsistently processes parameters, it may cause unauthorized access or data corruption.

JWT Token Manipulation using jwt.io

📌 What is JWT?

JWT (JSON Web Token) is a compact, URL-safe token used for securely transmitting data between parties, often for authentication and authorization.

How to Manipulate Using inspect and jwt.io:

  • Open Developer Tools (Right click → Inspect → Application → Cookies / Local Storage).
  • Locate the JWT Token (commonly stored in Authorization, localStorage, or Cookies).
  • Copy the JWT Token and paste it into jwt.io.
  • Decode the token and view the payload. Look for fields like:
  • { “user_id”: “123”, “role”: “user” }
  • Modify the Payload to something like:
  • { “user_id”: “123”, “role”: “admin” }
  • Replace the old JWT in the browser and refresh the page.

메타데이터
post_id
0f7fc3f2dc0a
slug
v1-idor-0f7fc3f2dc0a
url
https://medium.com/@thecyberghost/v1-idor-0f7fc3f2dc0a
canonical_url
https://medium.com/@thecyberghost/v1-idor-0f7fc3f2dc0a
author_url
https://medium.com/@thecyberghost
status
ok
fetched_at
2026-07-17 19:24:55