Skip to content

Repository files navigation

🏰 Paris Advanced Web Vulnerability Scanner https://img.shields.io/badge/Python-3.11%252B-blue?logo=python https://img.shields.io/badge/FastAPI-0.115.6-green?logo=fastapi https://img.shields.io/badge/License-MIT-yellow.svg https://img.shields.io/badge/PRs-welcome-brightgreen.svg https://img.shields.io/badge/Made%2520with-%E2%9D%A4%EF%B8%8F-red

📖 Table of Contents Overview

Features

Architecture

Installation

Quick Start

API Documentation

Vulnerability Tests

WordPress Scanner

Reporting

Configuration

Contributing

License

🔍 Overview Paris is a professional-grade, automated web vulnerability scanner designed for security researchers, penetration testers, and developers. It combines 12+ advanced vulnerability tests with a modern, real-time dashboard to deliver comprehensive security assessments with zero configuration overhead.

Built with Python and FastAPI, Paris leverages asynchronous processing and WebSocket technology to provide instant feedback during scans, making it one of the fastest and most reliable open-source scanners available.

✨ Features 🛡️ Comprehensive Vulnerability Coverage Category Tests Included Injection Attacks SQL Injection (Error-based, Time-based, Blind), Command Injection, SSTI, XXE Cross-Site Attacks XSS (Reflected, Stored, DOM), CSRF, SSRF File & Path Attacks LFI, RFI, Directory Traversal, Directory Listing Configuration Issues Missing Security Headers, CORS Misconfiguration, IDOR CMS Security WordPress Core, Plugin & Theme Vulnerability Scanner 🚀 Advanced Capabilities ⚡ Blazing Fast — Asynchronous scanning with concurrent request handling

📡 Real-time Updates — WebSocket integration for live progress tracking

🧠 Smart Crawling — Headless browser support for SPA & JavaScript-heavy sites

📊 Professional Reporting — HTML, JSON, and PDF report generation

🔌 Modular Architecture — Easy to extend with new vulnerability tests

🌐 RESTful API — Full API documentation via Swagger UI (/docs)

🏗️ Architecture text ┌─────────────────────────────────────────────────────────────┐ │ Paris Scanner │ ├─────────────────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ Web UI │ │ WebSocket │ │ REST API │ │ │ │ (Dashboard)│◄──►│ (Live │◄──►│ (FastAPI) │ │ │ └─────────────┘ │ Updates) │ └─────────────┘ │ │ └─────────────┘ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ Scan Engine │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ Crawler │──│ Test │──│ Reporter │ │ │ │ │ │ (Smart) │ │ Modules │ │ (HTML/ │ │ │ │ │ └──────────┘ └──────────┘ │ JSON) │ │ │ │ │ ┌──────────┐ └──────────┘ │ │ │ │ │ WordPress│ │ │ │ │ │ Scanner │ │ │ │ │ └──────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ 🛠️ Installation Prerequisites Python 3.11 or higher

pip (Python package manager)

(Optional) Playwright for SPA crawling

Step 1: Clone the Repository bash git clone https://github.com/your-username/paris.git cd paris Step 2: Set Up Virtual Environment bash

Create virtual environment

python -m venv venv

Activate it

On Linux/Mac:

source venv/bin/activate

On Windows:

venv\Scripts\activate Step 3: Install Dependencies bash pip install -r requirements.txt Step 4: (Optional) Install Playwright for Headless Crawling bash pip install playwright playwright install chromium 🚀 Quick Start Run the Scanner bash python main.py Access the Dashboard Open your browser and navigate to:

text http://localhost:8000/dashboard Start a Scan Enter the target URL (e.g., https://example.com)

Configure depth and page limits (optional)

Click "Start Scan"

Monitor progress in real-time

View detailed results when complete

API Documentation For developers, interactive API docs are available at:

text http://localhost:8000/docs 📡 API Documentation Endpoint Method Description /api/scan POST Start a new security scan /api/scan/{scan_id} GET Get scan status and results /api/scans GET List all scans with vulnerability counts /ws/{scan_id} WebSocket Real-time scan progress updates /dashboard GET Web UI dashboard /results/{scan_id} GET Detailed scan results page /report/{scan_id} GET Printable HTML report 🛡️ Vulnerability Tests Full Test Coverage

Test Name Severity CWE

1 Command Injection 🔴 Critical CWE-77 2 SQL Injection 🔴 Critical CWE-89 3 XSS 🟠 High CWE-79 4 SSRF 🟠 High CWE-918 5 XXE 🟠 High CWE-611 6 LFI/RFI 🟠 High CWE-98 7 IDOR 🟠 High CWE-639 8 CSRF 🟡 Medium CWE-352 9 SSTI 🟡 Medium CWE-94 10 Directory Scan 🟡 Medium CWE-22 11 CORS Misconfiguration 🟡 Medium CWE-942 12 Security Headers 🟢 Low CWE-16 📦 WordPress Scanner The WordPress scanner provides comprehensive security assessment for WordPress sites:

Features 🔍 Version Detection — Identifies WordPress core version

🧩 Plugin Discovery — Detects installed plugins and their versions

🎨 Theme Detection — Identifies active themes and versions

🛡️ Vulnerability Database — Checks against known CVE database

📁 Sensitive File Check — Detects exposed config and backup files

🔌 XML-RPC Assessment — Checks for XML-RPC brute-force risks

📊 Reporting Paris generates professional security reports in multiple formats:

Report Formats Format Description HTML Interactive, printable report with charts and details JSON Machine-readable format for CI/CD integration PDF Professional printable document (coming soon) Report Contents Executive Summary

Vulnerability Statistics & Charts

Detailed Findings (with CWE, CVSS, Remediation)

Crawled Pages List

Scan Configuration

Timestamp & Duration

⚙️ Configuration Customize Paris via environment variables or the .env file:

env

Scan Settings

MAX_DEPTH=5 MAX_PAGES=200 TIMEOUT=90 CONCURRENT_REQUESTS=10 MAX_RETRIES=5

Enable/Disable Tests

ENABLE_SQLI=true ENABLE_XSS=true ENABLE_SSRF=true ENABLE_COMMAND_INJECTION=true ENABLE_WORDPRESS=true ENABLE_LFI_RFI=true ENABLE_IDOR=true ENABLE_CORS=true

Stealth Settings

USE_PROXY=false ROTATE_USER_AGENT=true DELAY_MIN=0.3 DELAY_MAX=1.5

Report Settings

REPORT_DIR=reports REPORT_FORMAT=html 🤝 Contributing We welcome contributions! Here's how you can help:

How to Contribute Fork the repository

Create a feature branch: git checkout -b feature/amazing-feature

Commit your changes: git commit -m 'Add amazing feature'

Push to the branch: git push origin feature/amazing-feature

Open a Pull Request

Development Guidelines Follow PEP 8 style guide

Write docstrings for new functions

Add tests for new vulnerability modules

Update README.md if needed

📜 License This project is licensed under the MIT License — see the LICENSE file for details.

👨‍💻 Author Ilya Farahani (ایلیا فراهانی)

GitHub: @here-is-leo

LinkedIn: ilya-farahani

Website: https://here-is-leo.ir

⭐ Show Your Support If you find this project useful, please consider:

⭐ Starring the repository

🐛 Reporting issues

🔧 Contributing code

📣 Sharing with others

Built with ❤️ by Ilya Farahani

🏰 پاریس اسکنر پیشرفته آسیب‌پذیری وب https://img.shields.io/badge/Python-3.11%252B-blue?logo=python https://img.shields.io/badge/FastAPI-0.115.6-green?logo=fastapi https://img.shields.io/badge/License-MIT-yellow.svg https://img.shields.io/badge/PRs-welcome-brightgreen.svg https://img.shields.io/badge/S%D8%A7%D8%AE%D8%AA%D9%87%2520%D8%B4%D8%AF%D9%87%2520%D8%A8%D8%A7-%E2%9D%A4%EF%B8%8F-red

📖 فهرست مطالب مرور کلی

ویژگی‌ها

معماری

نصب

شروع سریع

مستندات API

تست‌های آسیب‌پذیری

اسکنر وردپرس

گزارش‌گیری

تنظیمات

مشارکت

مجوز

🔍 مرور کلی پاریس یک اسکنر خودکار و حرفه‌ای آسیب‌پذیری وب است که برای محققان امنیتی، تست‌کنندگان نفوذ و توسعه‌دهندگان طراحی شده است. این ابزار با ترکیب ۱۲+ تست پیشرفته آسیب‌پذیری و داشبورد مدرن و لحظه‌ای، ارزیابی امنیتی جامعی را با حداقل نیاز به تنظیمات ارائه می‌دهد.

پاریس با استفاده از پایتون و FastAPI ساخته شده و از پردازش غیرهمزمان و فناوری WebSocket برای ارائه بازخورد فوری در طول اسکن بهره می‌برد و آن را به یکی از سریع‌ترین و قابل‌اطمینان‌ترین اسکنرهای منبع‌باز تبدیل می‌کند.

✨ ویژگی‌ها 🛡️ پوشش جامع آسیب‌پذیری‌ها دسته‌بندی تست‌های موجود حملات تزریقی SQL Injection, Command Injection, SSTI, XXE حملات بین‌سایتی XSS, CSRF, SSRF حملات فایل و مسیر LFI, RFI, Directory Traversal, Directory Listing مشکلات پیکربندی هدرهای امنیتی مفقود، CORS، IDOR امنیت CMS اسکنر هسته، پلاگین‌ها و قالب‌های وردپرس 🚀 قابلیت‌های پیشرفته ⚡ سرعت بالا — اسکن غیرهمزمان با مدیریت درخواست‌های همزمان

📡 بروزرسانی لحظه‌ای — یکپارچه‌سازی WebSocket برای پیگیری پیشرفت

🧠 خزش هوشمند — پشتیبانی از مرورگر بدون رابط برای سایت‌های SPA و جاوااسکریپت

📊 گزارش‌گیری حرفه‌ای — تولید گزارش‌های HTML، JSON و PDF

🔌 معماری ماژولار — قابلیت توسعه آسان با تست‌های جدید

🌐 API کامل — مستندات کامل API از طریق Swagger UI (/docs)

🏗️ معماری text ┌─────────────────────────────────────────────────────────────┐ │ اسکنر پاریس │ ├─────────────────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ رابط کاربری│ │ WebSocket │ │ REST API │ │ │ │ (داشبورد) │◄──►│ (بروزرسانی │◄──►│ (FastAPI) │ │ │ └─────────────┘ │ لحظه‌ای) │ └─────────────┘ │ │ └─────────────┘ │ │ │ ▼ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │ موتور اسکن │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ خزنده │──│ ماژول‌های │──│ گزارش‌گر │ │ │ │ │ │ (هوشمند) │ │ تست │ │ (HTML/ │ │ │ │ │ └──────────┘ └──────────┘ │ JSON) │ │ │ │ │ ┌──────────┐ └──────────┘ │ │ │ │ │ اسکنر │ │ │ │ │ │ وردپرس │ │ │ │ │ └──────────┘ │ │ │ └─────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ 🛠️ نصب پیش‌نیازها پایتون ۳.۱۱ یا بالاتر

pip (مدیریت بسته‌های پایتون)

(اختیاری) Playwright برای خزش SPA

مرحله ۱: کلون کردن مخزن bash git clone https://github.com/your-username/paris.git cd paris مرحله ۲: ایجاد محیط مجازی bash

ایجاد محیط مجازی

python -m venv venv

فعال‌سازی

در لینوکس/مک:

source venv/bin/activate

در ویندوز:

venv\Scripts\activate مرحله ۳: نصب وابستگی‌ها bash pip install -r requirements.txt مرحله ۴: (اختیاری) نصب Playwright برای خزش بدون رابط bash pip install playwright playwright install chromium 🚀 شروع سریع اجرای اسکنر bash python main.py دسترسی به داشبورد مرورگر خود را باز کنید و به آدرس زیر بروید:

text http://localhost:8000/dashboard شروع اسکن آدرس هدف را وارد کنید (مثلاً https://example.com)

عمق خزش و تعداد صفحات را تنظیم کنید (اختیاری)

روی دکمه "شروع اسکن" کلیک کنید

پیشرفت را به صورت لحظه‌ای مشاهده کنید

پس از اتمام، نتایج کامل را مشاهده کنید

مستندات API برای توسعه‌دهندگان، مستندات تعاملی API در آدرس زیر موجود است:

text http://localhost:8000/docs 📡 مستندات API مسیر متد توضیح /api/scan POST شروع اسکن امنیتی جدید /api/scan/{scan_id} GET دریافت وضعیت و نتایج اسکن /api/scans GET لیست همه اسکن‌ها با تعداد آسیب‌پذیری‌ها /ws/{scan_id} WebSocket بروزرسانی لحظه‌ای پیشرفت اسکن /dashboard GET داشبورد رابط کاربری /results/{scan_id} GET صفحه نتایج کامل اسکن /report/{scan_id} GET گزارش قابل چاپ HTML 🛡️ تست‌های آسیب‌پذیری پوشش کامل تست‌ها

نام تست شدت CWE

۱ Command Injection 🔴 بحرانی CWE-77 ۲ SQL Injection 🔴 بحرانی CWE-89 ۳ XSS 🟠 بالا CWE-79 ۴ SSRF 🟠 بالا CWE-918 ۵ XXE 🟠 بالا CWE-611 ۶ LFI/RFI 🟠 بالا CWE-98 ۷ IDOR 🟠 بالا CWE-639 ۸ CSRF 🟡 متوسط CWE-352 ۹ SSTI 🟡 متوسط CWE-94 ۱۰ Directory Scan 🟡 متوسط CWE-22 ۱۱ CORS Misconfiguration 🟡 متوسط CWE-942 ۱۲ Security Headers 🟢 پایین CWE-16 📦 اسکنر وردپرس اسکنر وردپرس ارزیابی امنیتی جامعی برای سایت‌های وردپرسی ارائه می‌دهد:

ویژگی‌ها 🔍 تشخیص نسخه — شناسایی نسخه هسته وردپرس

🧩 کشف پلاگین‌ها — تشخیص پلاگین‌های نصب شده و نسخه آنها

🎨 تشخیص قالب — شناسایی قالب‌های فعال و نسخه آنها

🛡️ پایگاه داده آسیب‌پذیری — بررسی در برابر پایگاه داده CVE

📁 بررسی فایل‌های حساس — تشخیص فایل‌های پیکربندی و پشتیبان در معرض دید

🔌 ارزیابی XML-RPC — بررسی خطرات Brute Force از طریق XML-RPC

📊 گزارش‌گیری پاریس گزارش‌های امنیتی حرفه‌ای را در چندین فرمت تولید می‌کند:

فرمت‌های گزارش فرمت توضیح HTML گزارش تعاملی و قابل چاپ با نمودارها و جزئیات JSON فرمت قابل خواندن توسط ماشین برای یکپارچه‌سازی با CI/CD PDF سند حرفه‌ای قابل چاپ (به زودی) محتویات گزارش خلاصه اجرایی

آمار و نمودارهای آسیب‌پذیری

یافته‌های کامل (با CWE، CVSS، راهکار)

لیست صفحات خزش شده

تنظیمات اسکن

زمان و تاریخ

⚙️ تنظیمات پاریس را از طریق متغیرهای محیطی یا فایل .env سفارشی کنید:

env

تنظیمات اسکن

MAX_DEPTH=5 MAX_PAGES=200 TIMEOUT=90 CONCURRENT_REQUESTS=10 MAX_RETRIES=5

فعال/غیرفعال کردن تست‌ها

ENABLE_SQLI=true ENABLE_XSS=true ENABLE_SSRF=true ENABLE_COMMAND_INJECTION=true ENABLE_WORDPRESS=true ENABLE_LFI_RFI=true ENABLE_IDOR=true ENABLE_CORS=true

تنظیمات مخفی‌کاری

USE_PROXY=false ROTATE_USER_AGENT=true DELAY_MIN=0.3 DELAY_MAX=1.5

تنظیمات گزارش

REPORT_DIR=reports REPORT_FORMAT=html 🤝 مشارکت ما از مشارکت شما استقبال می‌کنیم! روش‌های کمک:

نحوه مشارکت مخزن را Fork کنید

یک شاخه ایجاد کنید: git checkout -b feature/amazing-feature

تغییرات خود را Commit کنید: git commit -m 'Add amazing feature'

به شاخه Push کنید: git push origin feature/amazing-feature

یک Pull Request باز کنید

راهنمای توسعه از راهنمای سبک PEP 8 پیروی کنید

برای توابع جدید docstring بنویسید

برای ماژول‌های آسیب‌پذیری جدید تست اضافه کنید

در صورت نیاز README.md را به‌روز کنید

📜 مجوز این پروژه تحت مجوز MIT منتشر شده است — برای جزئیات بیشتر فایل LICENSE را مشاهده کنید.

👨‍💻 توسعه‌دهنده ایلیا فراهانی

گیت‌هاب: @here-is-leo

لینکدین: ilya-farahani

وب‌سایت: https://here-is-leo.ir

⭐ حمایت خود را نشان دهید اگر این پروژه برای شما مفید بود، لطفاً در نظر بگیرید:

⭐ ستاره دادن به مخزن

🐛 گزارش مشکلات

🔧 مشارکت در کد

📣 به اشتراک‌گذاری با دیگران

ساخته شده با ❤️ توسط ایلیا فراهانی