Kanata is a suite of vulnerable by design web applications that provides a safe and legal environment for students to learn and practice white-box testing approaches. Kanata equips students with the skills they need to identify vulnerabilities in web applications and build effective security mitigations.
Students are presented with a range of web applications that simulate real-world scenarios, allowing them to apply their knowledge in a practical setting. By working through these challenges, students gain hands-on experience with common security threats and learn how to develop effective mitigation strategies.
- Contains a variety of web applications with intentionally designed vulnerabilities.
- Allows students to explore different types of vulnerabilities and learn how to exploit and mitigate them.
- Each web application provides various endpoints to interact with.
- Includes easy-to-start docker containers that deploys the web applications.
- Contains detailed solutions that are delivered via text and video.
To set up Kanata on your machine, you can follow these steps for a smooth installation process:
- Docker
- Python3
- NodeJS & npm
- Clone the Kanata repository
- Start the Kanata dashboard
- Have fun!
First, we will copy the link to git clone.
![](https://private-user-images.githubusercontent.com/23440767/259539743-d25250ab-9aed-4f56-82ac-501750103d55.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1Mzk3NDMtZDI1MjUwYWItOWFlZC00ZjU2LTgyYWMtNTAxNzUwMTAzZDU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU2NjkzMmQ3YzY5YWUxZGE2YzBmZGFmOWQ2YmY0ZGM2N2IxMzlkY2UyY2Y3NTY2OTg3YThkZjU3ZTQ2NzQyMGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.3lXxxn03z1OwRrJsgNfQnUY6_n93JS9Srn9Meg9dFsQ)
Then, clone the repository into a folder.
![](https://private-user-images.githubusercontent.com/23440767/259540022-b9219095-6e10-4a26-aa78-f16082909ad9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NDAwMjItYjkyMTkwOTUtNmUxMC00YTI2LWFhNzgtZjE2MDgyOTA5YWQ5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJiNTU3OTBhMGU2ZmU4YjQ0NzIzYTFlM2IwNzQ1Y2NkNmQ2ZjJiY2NkOWQ0YmJiNzNlYWVkN2MzNTI1YjhhMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.VaCYymKkCr61URItDA4kdT1l07XRShyAS-dP8akdjlo)
Next, run the install tools python script to install all necessary tools. Hit Y
for all.
![](https://private-user-images.githubusercontent.com/23440767/259558722-3ee02f1e-84ee-4cdf-b02f-5ff404a0644d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NTg3MjItM2VlMDJmMWUtODRlZS00Y2RmLWIwMmYtNWZmNDA0YTA2NDRkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBiNWRjZTg0MDEyMDk4MGViYmEwYTM4YWUwMmFmNWE1Y2I4YmExOWI0ZjEzNTFmODY5ZTA0ZDIzNDg0YjhhM2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cQ4cp2C_DX6TRjmWEDeSJurndKHhgjyiaAPhBvt7npU)
In the frontend directory, run the command npm install
.
![](https://private-user-images.githubusercontent.com/23440767/259560201-bc2c8f68-f2a7-4cd1-8c25-7adec1a95d3a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjAyMDEtYmMyYzhmNjgtZjJhNy00Y2QxLThjMjUtN2FkZWMxYTk1ZDNhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU1NTcwOWE2OWMyZDE2ZTQwNTk0YWZlMjc3YmQ0YjZjYjc2NzVlYTQwN2I5YjAzYzc0ZWJkZDhhMjFiN2JhZmImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.L-4t54-ajjybqD0PvcXndWCSXMBIrJuVLVsMhh_z3-g)
Start the backend server.
![](https://private-user-images.githubusercontent.com/23440767/259560503-3ea559f2-d983-41a8-9db4-45cfa03e96ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjA1MDMtM2VhNTU5ZjItZDk4My00MWE4LTlkYjQtNDVjZmEwM2U5NmZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE1ZjI0MGRkNzliMDA2ODk4NWUyNmYyNDhiNWYyZDc2Njk4YzI0YzFhOWVhMWU1MmU5ZmM3NTkzOWUwZmM2MjcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.-lhcfsMlsFkWZ2hLA326zMgeLLsatZmfE4YcPgNVQ3E)
In a new terminal, and inside the frontend directory, serve the frontend.
![](https://private-user-images.githubusercontent.com/23440767/259560850-042fcbde-a472-4f3c-936e-0922e0b6910a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjA4NTAtMDQyZmNiZGUtYTQ3Mi00ZjNjLTkzNmUtMDkyMmUwYjY5MTBhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNiMjViNmVlODUwMzlhZGVkMzc5NWE2MzQ4NTY0MDYzZDQ0N2JmOTc0NzE0OTc0NWIwOWE4NDhhZjkxMjY1YzkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.yhWpAAunNYcwCMGrkcGm2os4HjYItZzuTFDZQCx5XFc)
Now you can go to the local link provided to view the frontend.
![](https://private-user-images.githubusercontent.com/23440767/259561123-d4328c4b-4b3e-407d-8bc4-e4739645e5c3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk5NTE3MDUsIm5iZiI6MTczOTk1MTQwNSwicGF0aCI6Ii8yMzQ0MDc2Ny8yNTk1NjExMjMtZDQzMjhjNGItNGIzZS00MDdkLThiYzQtZTQ3Mzk2NDVlNWMzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjE5VDA3NTAwNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTExZDc3ZjFhNWExODdiM2Y2NDY0MjUyZTU0Mjc1MDZiNjY4OWZhYWMxOGVmZTkyZDdjOGY2OGQ3MWRmNGQwMjgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.KrQuyeEH_F30vKf8CWouvEWt4RRXMn3GIDmGfzGLB_0)
You can use the install-tools.py
script to install tools such as Visual Studio Code, Burp Suite Community, JD-GUI, and Docker.
python3 install-tools.py