Made by ByteBandit0101
⚠️WARNING⚠️
This tool is intended for testing in controlled environments with the intent of evaluating wafs
The Bastion is designed to automate testing on vulnerable applications, such as OWASP's DVWA (Damn Vulnerable Web Application) and Mutillidae, serves as a benchmarking mechanism for Web Application Firewalls (WAFs). This tool operates by sending a series of carefully crafted payloads known to exploit specific vulnerabilities in these test applications. During these tests, the tool evaluates the applications' responses to each payload sent.
The underlying logic of this tool is straightforward yet effective: it attempts to exploit known vulnerabilities in these applications and monitors how the responses are handled by both the applications and, more crucially, by the WAFs implemented to protect them. When a payload results in a successful exploitation (i.e., the attack "was successful"), it indicates that the WAF failed to block the exploitation attempt, and the tool records this event as a failure in the protection offered by the WAF.
Conversely, if the WAF manages to identify and block the exploitation attempt, preventing the payload from causing any harm or gaining unauthorized access, the tool records this as a success for the WAF ("WAF blocked it"). This continuous testing process allows for a comparative assessment of the effectiveness of different WAFs in protecting against a standardized set of known attacks.
This automated approach not only saves significant time that would otherwise be spent on manual testing but also provides a quantitative metric on the effectiveness of WAFs in protecting web applications against known exploitation attempts. This tool can be extremely useful for organizations looking to strengthen their cyber defenses by evaluating different WAF solutions before making a large-scale implementation.
Clone the repo
git clone https://github.com/ByteBandit0101/Bastion-Waf-Tool.git
Go to Bastion-Waf-Tool directory
cd Bastion-Waf-Tool
Install requeriments.txt
pip install -r requeriments.txt
Run
python3 run_all_tests.py
Clone the repo
git clone https://github.com/ByteBandit0101/Bastion-Waf-Tool.git
Go to Bastion-Waf-Tool directory
cd Bastion-Waf-Tool
Install requeriments.txt
pip install -r requeriments.txt
Run
python run_all_tests.py
Choose whether or not to use Tor
1. Use Tor
2. Do not use Tor
3. Exit
Choose an option: "Enter the desired option"
Choose the scenario
1. Explore Mutillidae
2. Explore DVWA
3. Exit
Choose an option: "Enter the desired option"
Enter the target url (Example: https://test.com)
Please enter the base URL: "put your url here"
Select the speed of requests: low = 10 / medium = 5 / high = 3
Choose the request send rate (low, medium, high):"Enter the desired option"
Choose whether you want to run all tests or choose which ones will be run:
Do you want to run all tests automatically or select them manually?
1. Run all tests automatically
2. Select tests manually
Choose an option: "put your url here"
It will run all the scripts in order and at the end give an overview of the test results
Do you want to run all tests automatically or select them manually?
1. Run all tests automatically
2. Select tests manually
Choose an option: 1
If you choose "yes" it will run the script that is defined, and at the end it will ask if you want to run the next ones.
Choose an option: 2
Do you want to execute Brute_Force.py? (yes/no): yes
If you choose "no" it will ignore the current script and skip to the next one asking if you want to run it.
Choose an option: 2
Do you want to execute Brute_Force.py? (yes/no): no
At the end of the test you can choose to save the logs in a .zip (save) or delete them (clear):
Do you want to clear the logs folder or save? (clear/save): "Enter the desired option"
Coming soon video tutorial...
Here are the pages that BASTION exploits in both Mutillidae and DVWA and their respective vulnerabilities
<ul>
<ul>SQL Injection on blog entry</ul>
<ul>SQL Injection on logged in user name</ul>
<ul>Cross site scripting on blog entry</ul>
<ul>Cross site scripting on logged in user name</ul>
<ul>Log injection on logged in user name</ul>
<ul>Cross site request forgery</ul>
<ul>JavaScript validation bypass</ul>
<ul>XSS in the form title via logged in username</ul>
<ul>HTML injection in blog input field</ul>
<ul>Application Exception Output</ul>
<ul>Application Log Injection</ul>
<ul>Known Vulnerable Output: Name Comment "Add blog for" title</ul>
</ul>