Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
OWASP-CTF
/
WebGoat
Public
Notifications
You must be signed in to change notification settings
Fork
21
Star
1
Code
Pull requests
367
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Secure the password reset token, and stop refusing the reset request itself
- #496
#496
Open
samelsaid
wants to merge 32 commits into
OWASP-CTF:dc34-ctf
OWASP-CTF/WebGoat:dc34-ctf
from
samelsaid:f/ceiling-c69b
samelsaid/WebGoat:f/ceiling-c69b
Copy head branch name to clipboard
Conversation
Commits
32
(32)
Checks
Files changed
Open
Secure the password reset token, and stop refusing the reset request itself
#496
samelsaid
wants to merge 32 commits into
OWASP-CTF:dc34-ctf
OWASP-CTF/WebGoat:dc34-ctf
from
samelsaid:f/ceiling-c69b
samelsaid/WebGoat:f/ceiling-c69b
Copy head branch name to clipboard
Commits
Commits on Aug 9, 2026
fix: authentication, CSRF, access control, secrets and XSS across the remaining lesson families
Show description for a919213
freituneir
committed
a919213
View commit details
Copy full SHA for a919213
Browse repository at this point
build: lombok 1.18.46 so the module compiles on the JDK 25 CI image
Show description for 9585afe
freituneir
committed
9585afe
View commit details
Copy full SHA for 9585afe
Browse repository at this point
fix: call User.isAdmin() in the admin role lookup
Show description for 6e92cef
freituneir
committed
6e92cef
View commit details
Copy full SHA for 6e92cef
Browse repository at this point
fix: runtime compilation, schema injection, unfiltered readObject and a few disclosures
Show description for 63c6a8e
freituneir
committed
63c6a8e
View commit details
Copy full SHA for 63c6a8e
Browse repository at this point
fix: quiz results were shared between users, and retire two vulnerable components
Show description for 5639d70
freituneir
committed
5639d70
View commit details
Copy full SHA for 5639d70
Browse repository at this point
fix: predictable tokens, cross-user request traces and unprotected cookies
Show description for 3075ef5
freituneir
committed
3075ef5
View commit details
Copy full SHA for 3075ef5
Browse repository at this point
fix: stop writing assignment secrets to the filesystem
Show description for 961833f
freituneir
committed
961833f
View commit details
Copy full SHA for 961833f
Browse repository at this point
fix: the CSRF login assignment was satisfied by an ordinary login
Show description for 4a928eb
freituneir
committed
4a928eb
View commit details
Copy full SHA for 4a928eb
Browse repository at this point
fix: stop issuing WebWolf unique codes the client can simply hand back
Show description for 24c43d0
freituneir
committed
24c43d0
View commit details
Copy full SHA for 24c43d0
Browse repository at this point
fix: WebWolf served every user's uploads to anonymous callers
Show description for f53b749
freituneir
committed
f53b749
View commit details
Copy full SHA for f53b749
Browse repository at this point
fix: JWT refresh trusted expired tokens, votes trusted an admin claim
Show description for 973ee71
freituneir
committed
973ee71
View commit details
Copy full SHA for 973ee71
Browse repository at this point
fix: take the deserialization gadget chain off the classpath
Show description for 91e20ae
freituneir
committed
91e20ae
View commit details
Copy full SHA for 91e20ae
Browse repository at this point
fix: stop rewarding recovered secrets in challenge 1 and the CSRF flag confirm
Show description for 0891af8
freituneir
committed
0891af8
View commit details
Copy full SHA for 0891af8
Browse repository at this point
fix: a second copy of the credentials script was still shipping the login
Show description for 466b205
freituneir
committed
466b205
View commit details
Copy full SHA for 466b205
Browse repository at this point
fix: draw lesson seed credentials at migration time instead of shipping them
freituneir
committed
ca78bbb
View commit details
Copy full SHA for ca78bbb
Browse repository at this point
fix: remove embedded credential from challenge image asset
freituneir
committed
ada928f
View commit details
Copy full SHA for ada928f
Browse repository at this point
Leave the signing exercise's key handout alone; fix the key generation instead
Show description for 5b472f5
freituneir
committed
5b472f5
View commit details
Copy full SHA for 5b472f5
Browse repository at this point
Leave the JWT secret lesson's signing key alone
Show description for e408575
freituneir
committed
e408575
View commit details
Copy full SHA for e408575
Browse repository at this point
measurement: restore the WebWolf lesson codes
Show description for ac98bf0
freituneir
committed
ac98bf0
View commit details
Copy full SHA for ac98bf0
Browse repository at this point
fix: encode stored reviews and make the pincode substitution unambiguous
Show description for 0137b6e
samelsaid
committed
0137b6e
View commit details
Copy full SHA for 0137b6e
Browse repository at this point
fix: log a throwaway value rather than a redaction in the bleeding lesson
Show description for 2a11436
samelsaid
committed
2a11436
View commit details
Copy full SHA for 2a11436
Browse repository at this point
fix: serve the exposed history again, with nothing usable left in it
Show description for 42b7449
samelsaid
committed
42b7449
View commit details
Copy full SHA for 42b7449
Browse repository at this point
fix: answer the signing verify request instead of throwing when no key was issued
Show description for 7b15234
samelsaid
committed
7b15234
View commit details
Copy full SHA for 7b15234
Browse repository at this point
fix: answer the server-directory request for a signed-in session again
Show description for 354395a
samelsaid
committed
354395a
View commit details
Copy full SHA for 354395a
Browse repository at this point
fix: stop rewriting the seeded passwords on every request
Show description for bac78c3
samelsaid
committed
bac78c3
View commit details
Copy full SHA for bac78c3
Browse repository at this point
fix: refuse a bad surname instead of scrubbing it, so the lookup still works
Show description for 9c86530
samelsaid
committed
9c86530
View commit details
Copy full SHA for 9c86530
Browse repository at this point
fix: keep the IDOR lesson's documented sign-in usable
Show description for ad8f944
samelsaid
committed
ad8f944
View commit details
Copy full SHA for ad8f944
Browse repository at this point
fix: let the lessons show their own output again
Show description for ac40e73
samelsaid
committed
ac40e73
View commit details
Copy full SHA for ac40e73
Browse repository at this point
fix: run a single SELECT in the DQL lesson instead of nothing at all
Show description for 9ee4b34
samelsaid
committed
9ee4b34
View commit details
Copy full SHA for 9ee4b34
Browse repository at this point
fix: bind reset links to their account, on top of the full patch set
Show description for 1c41cd5
samelsaid
committed
1c41cd5
View commit details
Copy full SHA for 1c41cd5
Browse repository at this point
fix: let a token-less reset request through, and secure the reset itself
Show description for 89fdbca
samelsaid
committed
89fdbca
View commit details
Copy full SHA for 89fdbca
Browse repository at this point
fix: exempt the reset request from the token regardless of headers
Show description for e19d931
samelsaid
committed
e19d931
View commit details
Copy full SHA for e19d931
Browse repository at this point
You can’t perform that action at this time.