The Web Vulnerability Scanner is a lightweight, command-line tool designed to help detect common web application security flaws.
It can crawl target websites, test for vulnerabilities such as SQL Injection (SQLi), Cross-Site Scripting (XSS), and Insecure Direct Object References (IDOR), and then generate detailed Excel and PDF reports for further analysis.
- 🔗 Automated URL Crawling – Collects links and pages from a target domain.
- 💉 SQL Injection Detection – Identifies potentially injectable input fields.
- 📝 XSS Detection – Detects inputs that may allow malicious JavaScript injection.
- 🔑 IDOR Testing – Analyzes URL parameters for access control flaws.
- 📊 Report Generation – Outputs results in Excel and PDF formats.
web_vulnerability_scanner/
│
├── input_handler/ # Handles user input (URLs/domains)
│ └── input_handler.py
│
├── scanner/ # Core scanning functionality
│ ├── url_discovery.py # Crawling and link collection
│ ├── vulnerability_scanner.py # Orchestrates scanning
│ ├── sql_injection.py # SQLi detection
│ ├── xss_scanner.py # XSS detection
│ ├── idor_scanner.py # IDOR detection
│ └── payloads.py # Payload definitions
│
├── reports/ # Report generation
│ ├── excel_report.py
│ ├── pdf_report.py
│ └── vulnerability_report/ # Report templates
│
├── utils/ # Utility helpers
│ └── utility.py
│
├── config/ # Config files
│ └── urls.txt # Target URLs
│
├── logs/ # Scan logs
│ └── scan.log
│
├── requirements.txt # Project dependencies
├── run_scanner.py # Main entry script
└── README.md # Documentation
- Python 3.8+
- Install dependencies:
pip install -r requirements.txt
- Clone the repository:
git clone https://github.com/danishansari-dev/Web-Vulnerability-Scanner.git
- Install the required dependencies:
pip install -r requirements.txt
Run the scanner:
python run_scanner.py
Reports will be generated automatically in Excel and PDF format under the reports/
directory.
- Intended primarily for educational and research purposes.
- May generate false positives → manual validation is advised.
- Not production-ready without further customization.