Home

Awesome

<p align="center"> <img src="images/secDevLabs-logo.png" allign="center" height=""/> <!-- logo font: Agency FB Bold Condensed --> </p> <p align="center"> A laboratory for learning secure web and mobile development in a practical manner. </p> <p align="center"> <a href="https://github.com/globocom/secDevLabs/blob/master/docs/CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-Welcome-brightgreen"/></a> <a href="https://gitter.im/secDevLabs/community"><img src="https://badges.gitter.im/secDevLabs/community.svg"/></a> </p>

Build your lab

By provisioning local environments via docker-compose, you will learn how the most critical web application security risks are exploited and how these vulnerable codes can be fixed to mitigate them. 👩‍💻

How do I start?

After forking this repository, you will find multiple intended vulnerable apps based on real-life scenarios in various languages such as Golang, Python and PHP. A good start would be installing the ones you are most familiar with. You can find instructions to do this on each of the apps. 💡

Each of them has an Attack Narrative section that describes how an attacker would exploit the corresponding vulnerability. Before reading any code, it may be a good idea following these steps so you can better understand the attack itself. 💉

Now it's time to shield the application up! Imagine that this is your application and you need to fix these flaws! Your mission is writing new codes that mitigate them and sending a new Pull Request to deploy a secure app! 🔐

How secure is my new code?

After mitigating a vulnerability, you can send a Pull Request to gently ask the secDevLabs community to review your new secure codes. If you're feeling a bit lost, try having a look at this mitigation solution, it might help! 🚀

OWASP Top 10 (2021) apps: 💻

Disclaimer: You are about to install vulnerable apps in your machine! 🔥

VulnerabilityLanguageApplication
A1 - Broken Access ControlGolangVulnerable Ecommerce API
A1 - Broken Access ControlNodeJSTic-Tac-Toe
A1 - Broken Access ControlGolangCamplake-API
A2 - Cryptographic FailuresGolangSnakePro
A3 - InjectionGolangCopyNPaste API
A3 - InjectionNodeJSMongection
A3 - InjectionPythonSSType
A3 - Injection (XSS)PythonGossip World
A3 - Injection (XSS)ReactComment Killer
A3 - Injection (XSS)Angular/SpringStreaming
A4 - Insecure DesignReact/GoSuper Recovery Password App
A5 - Security Misconfiguration (XXE)PHPViniJr Blog
A5 - Security MisconfigurationPHPVulnerable Wordpress Misconfig
A5 - Security MisconfigurationNodeJSStegonography
A6 - Vulnerable and Outdated ComponentsPHPCimentech
A6 - Vulnerable and Outdated ComponentsPythonGolden Hat Society
A7 - Identity and Authentication FailuresPythonSaidajaula Monster Fit
A7 - Identity and Authentication FailuresGolangInsecure go project
A8 - Software and Data Integrity FailuresPythonAmarelo Designs
A9 - Security Logging and Monitoring FailuresPythonGamesIrados.com

OWASP Top 10 (2016) Mobile apps: 📲

Disclaimer: You are about to install vulnerable mobile apps in your machine! 🔥

VulnerabilityLanguageApplication
M2 - Insecure Data StorageDart/FlutterCool Games
M4 - Insecure AuthenticationDart/FlutterNote Box
M5 - Insufficient CryptographyDart/FlutterPanda Zap

Contributing

We encourage you to contribute to SecDevLabs! Please check out the Contributing to SecDevLabs section for guidelines on how to proceed! 🎉

License

This project is licensed under the BSD 3-Clause "New" or "Revised" License - read LICENSE.md file for details. 📖