Skip to content
All work
Web application· Lead tester· 2025

Retail web platform: from guest to admin

A grey-box web assessment of a mid-market retail platform that surfaced a full account-takeover and privilege-escalation chain.

Web application

Tools used

  • Burp Suite Pro
  • ffuf
  • sqlmap
  • Python
  • Caido

The problem

A retail company was moving checkout and customer accounts onto a new platform and wanted assurance before launch. Access control and the payment flow were the biggest worries, with real customer data and card handling in scope.

The approach

Grey-box, manual-first. I mapped every role and endpoint, then focused on access control, the session model and the discount and refund logic. A chained IDOR on the order API plus a weak password-reset token let me move from a guest account to another customer, and from there to a staff role through an unguarded admin endpoint.

The outcome

Full account-takeover chain reported with a working proof of concept, reproduction steps and a prioritised fix list. The team shipped server-side authorisation checks and signed, single-use reset tokens before launch, and I re-tested to confirm the chain was closed.

Context

The platform handled customer accounts, checkout and a small staff back office. Testing ran over two weeks against a staging environment seeded with representative data.

Key finding

Three medium issues chained into one critical: an insecure direct object reference on the order API, a predictable password-reset token, and a staff endpoint that trusted a client-supplied role field. Individually each looked minor. Together they allowed a path from an anonymous visitor to an administrator.

Outcome

Every issue in the chain was fixed before go-live. The broader lesson for the team was to enforce authorisation on the server for every object reference, which became a review checklist item.