realcorvus

realcorvus

Potion Shop - A vulnerable Elixir and Phoenix application for learning web security

Hi everyone, I’m very excited to announce the release of Potion Shop, an intentionally vulnerable Elixir/Phoenix application, for teaching developers about web application security.

https://github.com/securityelixir/potion_shop


:warning: Warning :warning:

Do not deploy this application in your production environment. Attackers can exploit Potion Shop to gain access to the underlying server, then use this access to further compromise your network.


How to Learn Web Security with Potion Shop

Potion Shop can be used by developers of all security skill levels. From beginners interested in what these cryptic acronyms mean, to experienced security professionals looking to test their skills.

If you are a complete beginner, get the project running locally and read tutorial.md for a description of each vulnerability, how to understand the impact, and hints on how to discover it in Potion Shop.

If you have some experience with web security, start with self_guided.md. It provides a concise list of exercises, one for each vulnerability.

If you are looking for a realistic challenge, do not read either document. Test the application as you normally would, and see if you can uncover each security problem.

A full writeup on each issue will be published later in answers.md. For the best learning experience, do not read this until after you have worked through Potion Shop yourself.

Pull Requests Welcome

If there is a security topic you would like to see included in future updates, please open an issue or submit a PR on Github.

The current roadmap includes additional vulnerabilities, and a branch showing how to fix each issue.

Learn More

I will be teaching a fully remote training on April 18, 2023 for ElixirConf EU, Phoenix Application Security. Potion Shop will be used in the training, with the benefit of an interactive format where students can ask questions and experience more guided learning.

Most Liked

ChrisYammine

ChrisYammine

Heh like the OWASP Juice Shop example application. Love it - thank you for this. I’m eager to explore this soon

dimitarvp

dimitarvp

Awesome. I’ll check it out for sure.

Where Next?

Trending in Announcing Top

webofbits
Squid Mesh is an open source workflow automation runtime for Elixir applications. It is aimed at Phoenix and OTP apps that want to defin...
New
GenericJam
Short version up top for anyone who just wants the ask: BEAM has had hot code loading since the jump. Sloppy Joe takes advantage of that...
New
tubedude
Finance does cash-flow analysis — XIRR/IRR, NPV, MIRR, time-value-of-money, depreciation — matching Excel and Google Sheets closely, and ...
New
Potions
Hi everyone! I’m Alekx, some of you may know me from ElixirCasts. I always wished there were a simple, affordable way to get Phoenix app...
New
kip
I’ve published localize_mcp, a Model Context Protocol server for the Localize library. This is the last piece of the family before 1.0 r...
New
mhs
Hi all, I want to share Googly, a code generator that turns a Google API’s Discovery document into a ready-to-use Elixir client. It’s i...
New
nseaSeb
Pure-Elixir toolkit for Factur-X / ZUGFeRD hybrid electronic invoices — a PDF/A-3 file with a machine-readable CII XML payload embedded i...
New

Other Trending Topics Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2976 91332 914
New
kip
Localize is the next generation localisation library for Elixir. Think of it as ex_cldr version 3.0. The first version will be released ...
New
zachdaniel
Introducing AshStorage! Attachment and file management that slots directly into your resources :smiling_face_with_sunglasses: I had hope...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jola
I’ve been bumping into some rough edges recently with Elixir dependencies that use app config and start their own supervision trees and I...
New
quatermain
Hello, I’m sharing my plugin here in forum after some time so it has time to mature and proof yourself. I use Claude Code daily on a pr...
New

We're in Beta

About us Mission Statement