A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
GitLab instances with open registration are more common than you'd think. No admin approval required. You create an account, log in, and suddenly internal repositories are visible. Repositories that contain hardcoded credentials, SSH keys, and configuration files.
The registration form leaks user existence. If a username is taken, you get a different error than if it's available. Same for emails. GitLab doesn't consider this a vulnerability—their HackerOne page explicitly states user enumeration without additional impact isn't accepted. But it gives you targets for password spraying.
Register with hacker:Welcome. Log in. Browse to /explore. An internal project Inlanefreight website is now visible—projects that were hidden from unauthenticated users. In a real engagement, this is where you find production code, API keys, database connection strings.
GitLab has 553 CVEs as of September 2021. Versions 12.9.0, 11.4.7, 13.10.3, 13.9.3, and 13.10.2 all had serious exploits. The version is only visible at /help when logged in. If you can't register and can't see the version, don't blindly throw exploits. Hunt for secrets in public repos instead.
Check /explore for public repos. Try registering an account. Enumerate users. Search for passwords in commit history. GitLab doesn't need to be directly exploitable to hand you the keys to the kingdom. Go check if the lab instance allows registration.
Finish the lesson once you have worked through the material. This awards ★ 30 XP.