DamnVulnerableCryptoApp – An App With Really Insecure Crypto

Why?
If you try to discover a very little bit a lot more about crypto, possibly for the reason that you want to know how the assaults get the job done or just mainly because you want to do harmless code, you conclusion up diving seriously speedy into the math driving the algorithms, and for a great deal of persons this is a NO.
This job was created with some important factors in brain:
- Real environment examples of the crypto assault vectors
- No need to have to write code to exploit a vulnerability that you are nevertheless seeking to have an understanding of
- No obstacle devoid of a alternative
- Dead straightforward documentation. No intricate math, no complicated formulas. Very good previous english
- A frequent put to exam different attack vectors
- Make uncomplicated for everybody to fully grasp crypto, attacks and preventions.
- Go straight to the position, the difficulties are no brain teasers, just a state of affairs with a crypto vuln.
Create
(Make positive you have node mounted)
npm operate establish-with-deps
Or if you by now have the dependencies mounted you can just run:
npm run establish
If you cloned the repo and are getting troubles in the exam section, it may be owing to the line endings. Drive linux like line endings in git with:
Adjust git config to use LF intead of CRLF
git config --world core.eol lf
git config --world-wide core.autocrlf enter
Run
npm run start off
You can modify the port with an natural environment variable:
PORT=4000 npm operate get started
Docker
From DockerHub
You can down load the most current docker graphic with:
docker pull damnvulnerablecryptoapp1/damnvulnerablecryptoapp
Establish
If you prefer to establish the docker impression your self run:
npm construct:docker
Operate
By default port 8081 is currently being exported, So you can map it to your very own port:
docker operate -p 8081:8081
Acquiring
If you want to to establish new attributes, or just operate devoid of making the app you can commence by installing dependencies with:
npm run install-deps
Then you have to have to operate independently the frontend and the backend apps.
Backend
cd backend
yarn commence
If you want to modify the default port (1234), you can use an surroundings variable:
PORT=5000 yarn start out
Frontend
cd frontend
yarn start
if you want to modify the frontend port (default is 4000) you can set an surroundings variable:
PORT=3000 yarn begin
If you altered the server port you need to have to specify it when booting the frontend, once again, as an natural environment variable:
React_App_SERVER_PORT=5000 yarn get started
Documentation
You can discover project’s documentation on github wiki
Some other good assignments crypto connected
License
DamnVulnerableCryptoApp is MIT licensed
Screenshots