PenTesting
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
For a ready to use Docker environment with all Joomla and its dependencies already installed and prepared, you can check out the Docker environment section.
To run the attacks, the following prerequisites must be met:
- Python 3.4+ with pip
A package manager was used to simplify command execution. To use it, the following prerequisites must be met:
- NPM 6 / YARN 1.22
Get a copy of the repository:
git clone git@github.com:GiadaPa/InformationSecurity.gitor alternatively:
git clone https://github.com/GiadaPa/InformationSecurity.gitChange directory:
cd InformationSecurity/Using the package manager, run the following command:
yarn install-dependenciesor alternatively:
npm run install-dependenciesFor the project a Docker environment is already prepared and ready to use with all necessary prerequisites.
These Docker containers are the same as used by the continuous integration servers.
Install Docker (with Docker Compose) locally on your machine.
Before start working you have to start the Docker containers:
docker-compose up --build --detach
After finished working you can stop the Docker containers:
docker-compose stop
When the containers are running, you can execute any command inside the environment. Just replace the dots ... in the following example with the command you wish to execute:
docker-compose run --rm app /bin/bash -c "..."Some examples are:
docker-compose run --rm app /bin/bash -c "npm run start"Joomla can be accessed at localhost:8080
You will need your database server address, database name, and database user credentials to install Joomla.
- Database Type: MySQL (PDO)
- Host Name: joomladb
- Username: root
- Password: password
- Database name: joomladb
The following section describes how to perform attacks through the package manager.
Run the following command:
yarn attack:rce VICTIM_URLor alternatively:
npm run attack:rce VICTIM_URLVICTIM_URL need to be specified with the relative protocol
If you are using the docker environment:
yarn attack:rce http://localhost:8080/Run the following command:
yarn attack:sqlior alternatively:
npm run attack:sqliRun the following command:
yarn attack:xssor alternatively:
npm run attack:xssMore documentation can be found at ...