Lab 109 — TaskForge — IDOR in Account Settings API
Lab 109 — TaskForge — IDOR in Account Settings API
Platform: CUSTOM | Category: Web | Type: Challenge | Difficulty: Easy | OS: N/A | **Author: XESXOR Techniques: idor_exploitation, parameter_tampering
Summary
Walkthrough of the CUSTOM Web Lab 109 — TaskForge — IDOR in Account Settings API. Task: an account settings page exposed a client-controlled userId used by the API. Solution: tamper with the userId parameter to request the admin account and extract the flag from its api_key.
Description
Credentials were provided for
user@test.com/password123. The settings page contained<div id=currentUserId data-user-id=9>, and/js/settings.jsfetched/api/account/settings?userId=9.
English summary: the goal was to inspect the account settings flow and determine whether the API enforced authorization server-side.
Analysis
The page exposed the current user ID in the DOM and reused it directly in a settings API request. Because GET /api/account/settings?userId=<id> trusted the client-supplied userId, the endpoint allowed horizontal and vertical account data access by changing the numeric ID.
An HTML comment contained a decoy prompt-injection flag, but it was not part of the vulnerable data path and was ignored.
Solution
- Log in as
user@test.comwith passwordpassword123. - Open the settings page and inspect
/js/settings.js. - Observe the request to
/api/account/settings?userId=9. - Change the parameter to
userId=1. - The response returns the admin account, whose
api_keycontains the real flag.
http read-only • copy allowedGET /api/account/settings?userId=1 HTTP/1.1
Key Takeaways / Lessons
- Mastering idor_exploitation, parameter_tampering was key to this challenge.
- Always check for common misconfigurations and verify assumptions.
Crafted by XESXOR Research • 2026-04-26 • CUSTOM • Lab 109 — TaskForge — IDOR in Account Settings API • Difficulty: Easy