

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
OWASP (the Open Worldwide Application Security Project) publishes a new list of critical web application security risks every few years. The OWASP Top 10:2025 combines contributed application-testing data with a survey of security practitioners. It's based on real-world data!
The Top 10 is a great starting point, but it's not a complete security checklist.
Click to play video
Here are the current categories:
You do not need to memorize this list. You do need to know where to find it and how to use it as a guide for identifying potential issues in your application.
Missing browser security headers are a concrete example of A02: Security Misconfiguration. One of the simplest headers to add is X-Content-Type-Options: nosniff.
This header tells browsers to respect a response's declared Content-Type instead of guessing from its contents.
This helps prevent security vulnerabilities related to MIME sniffing. For example, without nosniff, a browser might treat attacker-controlled content as executable code despite its declared type!
Bearly Secure composes global middleware around its main http.Handler. Middleware can set the header before passing the request to the next handler, which applies the policy to both application routes and static files.
Bearly Secure does not currently send the X-Content-Type-Options header. Set X-Content-Type-Options: nosniff on every Bearly Secure response.
go run ./cmd/server
curl -I http://localhost:3030/
curl -I http://localhost:3030/styles.css
With Bearly Secure still running, run and submit the CLI tests from a separate terminal in the project root.