324 challenges · 18 vulnerability classes · 9 languages
Security challenges.
Real code, single-line vulnerabilities. Filter by stack, difficulty, or vulnerability class.
324total
97easy
157medium
70hard
medium
Reset Token Roulette
ArcadeHub is a fast-growing online gaming platform where players compete in tournaments, send invite codes to friends, and enter daily 'lucky draw' prizes. The backend team recently shipped account recovery so players can reset forgotten passwords by email. Many parts of the platform generate short codes and numbers that show up in the UI. Somewhere in the recovery flow, the way a sensitive value is generated lets an attacker get ahead of the system. Review the code and find the flaw.
LanguagepythonVulnerabilityAuthenticationDomainWeb
150 ptsOpen challenge →
easy
Widget Escape
WidgetDock is an Electron desktop dashboard where users install community widgets for calendars, weather, streaming stats, and smart-home controls. Widgets run sandboxed and use a preload bridge to read images and configuration files from their own install directory. Review the IPC path for local asset reads, especially how a widget-supplied asset name becomes a main-process file read.
Languagejavascript / typescriptVulnerabilityPath TraversalDomainNative
100 ptsOpen challenge →
medium
City Report Relay
Roamly is a travel marketplace that emails local offers to customers based on their preferred city. Customers can edit this preference through their profile, and a nightly job builds subscriber reports for recently changed city preferences. The job uses a legacy reporting account with broad read access to operational datasets. Review how the city value moves from the profile request into the delayed reporting workflow.
LanguagephpVulnerabilityInjectionDomainWeb
150 ptsOpen challenge →
easy
Pet Caption XSS
PetPal Prints lets pet owners upload photos and captions for custom mugs. The team added rich captions so customers can link to rescue shelters, and flagged orders now appear in a staff moderation queue before printing. Review how saved captions move from the public order form into the moderation dashboard, especially where the Leaf template decides whether to escape or trust the caption.
LanguageswiftVulnerabilityXSS (Cross-Site Scripting)DomainWeb
100 ptsOpen challenge →
Showing 12 of 324
Full archive
Premium unlocks all 324 challenges.
Full challenge access, the complete archive, and learning paths.
See pricing