A reverse proxy server designed to detect and mitigate web-based attacks such as SQL Injection (SQLi), Cross-Site Scripting (XSS), and Brute Force attempts. It also features a React-based admin dashboard for monitoring and managing blocked IPs.
- SQLi & XSS: Instant blocking upon detection of malicious payloads.
- Brute Force: Fingerprint-based detection to block varying IPs, with a lower cap of 5 attempts in 10 minutes for demonstration purposes.
- Backend: Node.js, Express.js, MongoDB
- Frontend: React, Material-UI
- Authentication: JSON Web Tokens (JWT)
- Deployment: Mild hosting over a custom LAN
1 - Clone the project
git clone https://github.com/saqib40/Azizam
cd Azizam2 - Install dependencies
- Backend
cd backend
npm install- Frontend
cd frontend
npm install3 - Configure Environment
- Create a .env file in the backend/ directory as:
PORT=4000
MONGO_URI=mongodb://localhost:27017/azizam
JWT_SECRET=your-secret-key4 - Start MongoDB
- Ensure MongoDB is running locally: (if you are on unix system and have installed mongodb using brew)
brew services start mongodb-community5 - Run the Application locally over at LAN
- Backend (do check package.json)
cd backend
npm run dev- Frontend (do check package.json)
cd frontend
npm run dev- You will have to update the URL in dlogin.jsx file with your IP address, you can figure that out for Linux/Unix systems using:
ipconfig getifaddr en0You can test this project out by writing some basic automation scripts or by just interacting with the /userLogin page manually