

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
As soon as your app is publicly reachable, automated bots can scan it for weaknesses. Even a small app can be a target. Just because you don't have many users doesn't mean data exposure is "something to worry about later." Security is non-negotiable, no matter your scale.
Click to play video
Most successful attacks exploit simple, sloppy mistakes:
Good web security is about recognizing these common attack paths and closing them.
In this course, you'll work on Bearly Secure, a deliberately vulnerable Go web app. It's an online plushie shop with login, sessions, product search, checkout, and a frankly irresponsible number of security issues. Your job is to gradually harden it throughout this course.
Use a Chromium- or Firefox-based browser for this course. Some Bearly Secure exercises don't work reliably in WebKit-based browsers (looking at you, Safari).
Clone the starter project and get it running locally.
git clone https://github.com/bootdotdev/learn-web-security-golang-starter.git
cd learn-web-security-golang-starter
go run ./cmd/seed
go run ./cmd/server
With Bearly Secure still running, run and submit the CLI tests from a separate terminal in the project root.