Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
pygoat — intentionally vuln web Application Security in django | Kitploit
Tools/GitHubGitHub/adeyosemanputra/pygoat
Vulnerability ScannersWeb SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubadeyosemanputra/pygoat

pygoat

intentionally vuln web Application Security in django

View Repository
3391.6k4 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

PyGoat

All Contributors

intentionally vuln web Application Security in django. our roadmap build intentionally vuln web Application in django. The Vulnerability can based on OWASP top ten

Table of Contents

  • pygoat
    • Installation
      • From Sources
      • Docker Container
      • Installation Video
    • Uninstallation
    • Solutions
    • For Developers

Installation

From Sources

To setup the project on your local machine:

First, Clone the repository using GitHub website or git in Terminal

root@kitploit:~
  git clone https://github.com/adeyosemanputra/pygoat.git
  ### To Download a specific branch
  git clone -b <branch_name> https://github.com/adeyosemanputra/pygoat.git

Windows Notes (PowerShell users)

  • PyGoat is tested primarily on Linux/macOS. Windows users are recommended to use:
    • Docker Desktop (preferred), or
    • WSL2 (Ubuntu) for smoother setup.
  • On some Windows environments, the python3 command may not be available by default.
    • If python3 is not recognized, try using python instead (ensure it points to Python 3.x).
  • Ensure Python version is 3.10 or 3.11 for best compatibility.
  • Some labs rely on Unix-style commands and may behave differently on native Windows shells.

Method 1

  1. Install all app and python requirements using installer file - bash installer.sh
  2. Apply the migrations python3 manage.py migrate.
  3. Finally, run the development server python3 manage.py runserver.
  4. The project will be available at http://127.0.0.1:8000

Method 2

  1. Install python3 requirements pip install -r requirements.txt.
  2. Apply the migrations python3 manage.py migrate.
  3. Finally, run the development server python3 manage.py runserver.
  4. The project will be available at http://127.0.0.1:8000

Method 3

  1. Install all app and python requirements using setup.py file - pip3 install .
  2. Apply the migrations python3 manage.py migrate.
  3. Finally, run the development server python3 manage.py runserver.
  4. The project will be available at http://127.0.0.1:8000

Docker Container

  1. Install Docker
  2. Run docker pull pygoat/pygoat or docker pull pygoat/pygoat:latest
  3. Run docker run --rm -p 8000:8000 pygoat/pygoat:latest
  4. Browse to http://127.0.0.1:8000
  5. Remove existing image using docker image rm pygoat/pygoat and pull again incase of any error

From Docker-Compose

  1. Install Docker
  2. Run docker-compose up or docker-compose up -d

Populate Challenge Data

PyGoat stores challenge definitions in challenge/challenge.json. To populate the Challenge table in the database from this file, use the built-in Django management command:

Using Docker Compose

root@kitploit:~
docker compose exec web python manage.py populate_challenges


### Build Docker Image and Run
1. Clone the repository  &ensp; `git clone https://github.com/adeyosemanputra/pygoat.git` 
2. Build the docker image from Dockerfile using &ensp; `docker build -f Dockerfile -t pygoat .`
3. Run the docker image &ensp;`docker run --rm -p 8000:8000 pygoat:latest`
4. Browse to <http://127.0.0.1:8000> or <http://0.0.0.0:8000> 

### Installation video 

1. From Source using `installer.sh`
 - [Installing PyGoat from Source](https://www.youtube.com/watch?v=7bYBJXG3FRQ)
2. Without using `installer.sh`
 - [![](http://img.youtube.com/vi/rfzQiMeiwso/0.jpg)](http://www.youtube.com/watch?v=rfzQiMeiwso "Installation Pygoat")
3. Install with Mac M1 (using Virtualenv)
 - [![](http://img.youtube.com/vi/rfzQiMeiwso/0.jpg)](https://youtu.be/a5UV7mUw580 "Install with Mac M1 - using Virtualenv")


## Uninstallation

### On Debian/Ubuntu Based Systems
- On Debian/Ubuntu based systems, you can use the `uninstaller.sh` script to uninstall `pygoat` along with all it's dependencies.
- To uninstall `pygoat`, simply run:
```bash
$ bash ./uninstaller.sh

On Other Systems

  • On other systems, you can use the uninstaller.py script to uninstall pygoat along with all it's dependencies
  • To uninstall pygoat, simply run:
root@kitploit:~
$ python3 uninstaller.py

Solutions

Solutions to all challenges

Contributors ✨

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Download Tool

pwned-17

💻

Aman Singh

💻

adeyosemanputra

💻 📖

gaurav618618

💻 📖

MajAK

💻

JustinPerkins

💻

Liu Peng

💻

Metaphor

💻

whokilleddb

💻