P-Aspen / brokencrystalsDemo

A Broken Application - Very Vulnerable!
MIT License
0 stars 0 forks source link

Description

Broken Crystals is a benchmark application that uses modern technologies and implements a set of common security vulnerabilities.

The application contains:

Note The GraphQL API does not yet support all of the endpoints the REST API does.

Building and Running the Application

# build server
npm ci && npm run build

# build client
npm ci --prefix public && npm run build --prefix public

#build and start dockers with Postgres DB, nginx and server
docker-compose --file=docker-compose.local.yml up -d

#rebuild dockers
docker-compose --file=docker-compose.local.yml up -d --build

Running application with helm

Helm command example:

$ helm repo add brokencrystals https://neuralegion.github.io/brokencrystals/
$ helm upgrade --install --namespace distributor broken     \
  --set repeaterID=5r....Dz                                 \
  --set token=n..r.nexp.k..5                                \
  --set cluster=hotel.playground.neuralegion.com            \
  --set timeout=40000                                       \
  --set repeaterImageTag=v11.5.0-next.4                     \
  --set ingress.url=broken.k3s.brokencrystals.nexploit.app  \
  --set ingress.cert=distributorwildcard                    \
  --set ingress.authlevel=- brokencrystals/brokencrystals --wait

Running tests by SecTester

In the path ./test you can find tests to run with Jest.

First, you have to get a Bright API key, navigate to your .env file, and paste your Bright API key as the value of the BRIGHT_TOKEN variable:

BRIGHT_TOKEN = <your_API_key_here>

Then, you can modify a URL to your instance of the application by setting the SEC_TESTER_TARGET environment variable in your .env file:

SEC_TESTER_TARGET = http://localhost:8090

Finally, you can start tests with SecTester against these endpoints as follows:

npm run test:e2e

Full configuration & usage examples can be found in our demo project;

Vulnerabilities Overview