An advanced web vulnerability scanner with a modern React frontend and unified Node.js backend.
- Scan for XSS, SQL Injection, CSRF, and open ports on any website
- Modern React UI with Tailwind CSS
- Scan history stored in MongoDB (view, delete, status color)
- Node.js/Express API with integrated scanning modules
- Unified backend - no Python required
React Frontend <-> Node.js/Express (MongoDB + Scanners)
- Go to
node-backend/ - Install dependencies:
npm install
- Make sure MongoDB is running locally (default URI:
mongodb://localhost:27017/vulnscan) - Start the Node.js server:
npm start
- Go to
client/ - Install dependencies:
npm install
- Start the frontend:
npm run dev
- Open http://localhost:5173 in your browser
- Enter a website URL and select a scan type (XSS, SQLi, CSRF, Port Scan, or both)
- View results instantly in the UI
- Switch to the History tab to see all previous scans, their status, and delete any entry
- Frontend: React, Tailwind CSS, Vite
- Backend: Node.js, Express, MongoDB
- Libraries: cheerio (HTML parsing), axios (HTTP requests)
Web Vulnerability Finder is a full-stack application that allows users to scan websites for common vulnerabilities such as XSS, SQL Injection, CSRF, and open ports. It features a modern, user-friendly React frontend, and a Node.js/Express backend that handles both scanning and stores scan history in MongoDB. The UI is styled with Tailwind CSS for a beautiful and responsive experience.
Frontend (React):
- Users enter a website URL and select the type of scan (XSS, SQLi, CSRF, Port Scan, or both).
- The frontend sends a request to the Node.js backend (
/api/scan). - Results are displayed instantly, with color-coded status and details.
- The History tab fetches scan history from MongoDB via the Node.js backend, allowing users to review or delete past scans.
Node.js/Express Backend:
- Receives scan requests from the frontend.
- Performs vulnerability scanning using specialized modules:
xss_scanner.js- Scans for Cross-Site Scripting vulnerabilitiessql_scanner.js- Scans for SQL Injection vulnerabilitiescsrf_scanner.js- Scans for CSRF vulnerabilitiesport_scanner.js- Scans open ports on target host
- Stores the scan result in MongoDB for history and analytics.
- Provides REST endpoints for scan history (list, get, delete).
MongoDB:
- Stores all scan results, including URL, scan type, result details, and timestamps.
Flow Example:
- User submits a scan in the React UI.
- React calls Node.js
/api/scan. - Node.js performs the scan using the appropriate scanner module.
- Node.js saves the result in MongoDB and returns it to React.
- React displays the result and updates the history.

