Most web vulnerabilities are not exotic. They come from the same few mistakes: trusting input, confusing authentication with authorisation, and mixing data with code.
The path of a request
Browser -> DNS -> TLS -> reverse proxy -> application -> database
At each arrow, data crosses a trust boundary. The browser is controlled by the user; the reverse proxy may add headers; the application decides what the user is allowed to do; the database executes queries.
The questions to ask
- Who is the user? Authentication.
- What may they do? Authorisation.
- What input reaches an interpreter? SQL, shell, HTML, template, file system.
- What state changes? Money, permissions, records.
- What is logged? Can you reconstruct an action?
Continue this lesson in the player
A free account unlocks the full lesson, the five-question knowledge check, progress tracking, notes and the completion certificate.