Hey, I’m Syed Ahmer Shah — a full-stack dev & software engineering student building cool stuff. I write about web dev and the lessons I learn along the way.
I’m Syed Ahmer Shah — a full-stack developer and Software Engineering student focused on building, learning, and understanding how software comes together. I share what I learn through technical writing, development notes, and project case studies, covering code, AI, problem-solving, challenges, and the developer journey.
Markdown supported · ⌘↵ to post
This is a great reminder that serious security issues don't always require sophisticated exploits. Sometimes a simple logic gap can have a much bigger impact.
The vulnerable vs. fixed code example makes the issue very practical. Sometimes seeing the missing condition in the query is all it takes for the concept to click.
I like the point about UUIDs not being a replacement for authorization. Making IDs unpredictable helps with enumeration, but it doesn't solve the actual access-control problem.
Really good explanation of the difference between authentication and authorization. That distinction is easy to overlook when focusing mainly on getting the login flow right.
The biggest takeaway for me is that authorization needs to be treated as part of the architecture, not something developers remember to add to individual endpoints.
The hotel key-card analogy makes IDOR much easier to understand. It really shows how authentication alone doesn't mean a user should have access to every resource.
Legend Spaw
Informative