Blind SQL Injection Scanner with Selenium An automated vulnerability scanner for detecting Time-Based Blind SQL Injection (SQLi) attacks. Uses Selenium WebDriver to perform safe and reliable multi-trial detection of potential vulnerabilities. Includes advanced error handling to avoid false positives and generate detailed HTML reports
This is a Python-based vulnerability scanner designed to detect Time-Based Blind SQL Injection vulnerabilities using Selenium. The scanner checks if the target URLs are vulnerable by performing automated tests using specific SQL injection payloads and analyzing the time taken by the server to respond.
- Automated Testing: Uses Selenium WebDriver to interact with target URLs.
- Time-Based SQL Injection Detection: Identifies potential vulnerabilities by introducing deliberate time delays in SQL queries.
- Bypasses WAFs by rotating proxies and randomizing headers
- Multi-Trial Validation: Runs multiple trials to reduce false positives.
- Error Handling: Ignores server-side errors (HTTP 500) to avoid false detections.
- Python 3.6+
- Google Chrome browser (for Selenium WebDriver)
- ChromeDriver (automatically managed by
webdriver-manager)
-
Clone this repository:
git clone https://github.com/aungsanoo-usa/bsqli.git cd bsqli -
Create and activate a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required Python packages:
pip install -r requirements.txt
wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip -O chromedriver-linux64.zipunzip chromedriver-linux64.zipcd chromedriver-linux64 sudo mv chromedriver /usr/bin-
Prepare a file containing URLs to be scanned (one URL per line).
-
Prepare a file containing SQL injection payloads (one payload per line).
-
Run the scanner:
python scan.py -u path_to_url_file.txt -p path_to_payload_file.txt --proxy-file path_to_proxy_file.txt -t 5
-uor--url-file: Path to the file containing URLs to scan.-por--payload-file: Path to the file containing SQL injection payloads.-tor--threads: Number of concurrent threads (default is 5).--proxy-file: Path to the file containing proxies in the format ip:port (e.g., 119.15.89.87:5678).
-
(Optional) If a cookie needs to be included in the request:
python sqli.py -p PAYLOAD_FILE -u URL_FILE --proxy-file PROXY_FILE [-c COOKIE] [-t THREADS]
python scan.py -u urls.txt -p xor.txt -t 10