Welcome to SQL Injector, your comprehensive penetration testing toolkit designed to assess and fortify the security of your backend databases. SQL injection, a prevalent attack vector, allows you to detect and remedy vulnerabilities in your application's database layer.
SQL injection, also known as SQLI, is a common attack vector that uses malicious SQL code for backend database manipulation to access information that was not intended to be displayed. This information may include any number of items, including sensitive company data, user lists or private customer details.
mvn spring-boot:run
mvn test
To run the database locally, follow these steps:
-
Open a terminal or Git Bash in the project's root folder.
-
Build the Docker image:
docker-compose build
-
Start the Docker container in the background:
docker-compose up -d
-
Launch the Docker container:
docker start postgres
-
Check the container status:
docker container ls -a
Ensure that the database is successfully started and ready for use.
You can access detailed documentation using Swagger following this link: http://localhost:8080/swagger-ui/index.html
POST http://localhost:8080/runTests/level1
Request body:
{
"url": "https://www.example.com/"
}
Response body:
{
Sql injection with EASY load is - DONE
}
Response status:
200
- Running tests with 10 SQL injections.
POST http://localhost:8080/runTests/level2
Request body:
{
"url": "https://www.example.com/"
}
Response body:
{
Sql injection with MID load is - DONE
}
Response status:
200
- Running tests with 20 SQL injections.
POST http://localhost:8080/runTests/level3
Request body:
{
"url": "https://www.example.com/"
}
Response body:
{
Sql injection with HARD load is - DONE
}
Response status:
200
- Running tests with 30 SQL injections.
This project is designed to offer a robust Automated Testing Framework (ATF) that seamlessly integrates Cucumber and Serenity, providing an efficient and readable solution for automated tests. It facilitates the incorporation of behavior-driven development (BDD) practices into your testing process.
-
Cucumber Integration: Leverage Cucumber for expressive BDD-style scenarios in plain text.
-
Serenity Reporting: Utilize detailed and user-friendly Serenity HTML reports for clear test result visualization.
-
Flexible Configuration: Easily configure test runs with dynamic properties and links in the
sql_injector.properties
file. -
Runners: Significance of Three Runners: In this project, we utilize three distinct runners - one for Serenity, one for Spring, and another for Cucumber - to cater to various testing needs.
git clone https://github.com/your/repository.git