

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Still calibrating
click for more info
Not enough gems
Cost: 6 gems
1: Web Security in Go
incomplete
2: Why Web Security
incomplete
3: Security Consequences
incomplete
4: OWASP Top 10
incomplete
5: How Attackers Think
incomplete
6: OWASP Quiz
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
When attackers target a web application, they're usually after:
Attackers don't have to use your front-end interface or obey its client-side restrictions. They can interact with your back end directly. Just because your website's UI hides the "Delete All Users" button for non-admins doesn't mean an attacker can't send a direct DELETE request to your /users endpoint using curl or Postman.
A trust boundary separates parts of a system with different levels of trust. For example, you control your server code, but you don't control the code or data in a user's browser.
Treat data crossing from the browser to your server as attacker-controlled. The server needs to validate that data and authorize the requested operation instead of blindly trusting client-side checks.
Threat modeling means examining a system from an attacker's perspective. We can't predict every possible attack, but we can use STRIDE to prompt us to look for six common classes of threats:
So, at each trust boundary, ask:
If someone were trying to break this, which failures could occur, and what evidence would reveal them?