https://github.com/moften/symfony-endpoint-scanner
Busca rutas públicas comunes de Symfony
https://github.com/moften/symfony-endpoint-scanner
symfony
Last synced: about 1 month ago
JSON representation
Busca rutas públicas comunes de Symfony
- Host: GitHub
- URL: https://github.com/moften/symfony-endpoint-scanner
- Owner: moften
- Created: 2025-05-08T16:11:21.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-16T03:24:23.000Z (9 months ago)
- Last Synced: 2025-09-16T05:45:49.930Z (9 months ago)
- Topics: symfony
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🏴☠️ Symfony Endpoint Scanner
Busca rutas públicas comunes de aplicaciones Symfony.
Desarrollado por **m10sec (2025)**.
---
## 🏴☠️ Descripción
Symfony Endpoint Scanner es una herramienta avanzada escrita en Python diseñada para analizar de forma exhaustiva servidores web que potencialmente ejecutan Symfony o frameworks similares.
El script realiza miles de peticiones HTTP controladas, detecta endpoints expuestos, identifica artefactos de desarrollo, localiza archivos de backup y dumps filtrados, y detecta huellas de tecnologías que podrían representar una superficie de ataque crítica.
Además, implementa fuzzing inteligente sobre plantillas parametrizadas para descubrir rutas internas o endpoints ocultos.
---
## Características
• Basado en requests con reintentos (Retry) y pool HTTP.
• Wordlist adicional y paths por CLI.
• HEAD primero (--head-first) y follow redirects (--follow).
• Proxy fácilmente integrable (Burp/ZAP).
• Filtrado de códigos interesantes (--codes) y modo verbose.
• Guardado en JSON o CSV.
• Detección de fingerprints Symfony (p. ej., X-Debug-Token, FOSJsRouting, Encore manifest/entrypoints).
---
## 🏴☠️ Instalación
```bash
# Clonar el repositorio
git clone https://github.com/m10often/Symfony-Endpoint-Scanner.git
cd Symfony-Endpoint-Scanner
# (Opcional) Entorno virtual
python3 -m venv venv && source venv/bin/activate
# Instalar dependencias
pip3 install -r requirements.txt
```
---
## 🏴☠️ Uso
# [+] Escaneo rápido de rutas conocidas:
```bash
python3 SymfonyScanner.py https://example.com
```
# [+] Mostrar solo resultados que coincidan con ciertos códigos y, si quieres ver también no coincidentes, añade --verbose.
```bash
python3 SymfonyScanner.py https://example.com --codes 200,301,302,403 --verbose
```
# [+] Escaneo con wordlist adicional y seguimiento de redirecciones:
```bash
python3 SymfonyScanner.py https://example.com -w rutas.txt --follow
```
# [+] Escaneo con limitación de tasa y guardar resultados:
```bash
python3 SymfonyScanner.py https://example.com --rps 4 --threads 20 --format json --out host_scan.json --codes 200,301,302 --save-all
```
# [+] inimizar ruido en clientes:
```bash
--head-first --codes 200,301,302,401,403
```
# [+] Inspección en BurpSuite (proxy):
```bash
--proxy http://127.0.0.1:8080
--insecure # Desactiva verificación TLS
```
```bash
python3 SymfonyScanner.py https://example.com --proxy http://127.0.0.1:8080
```
# [+] Probar HEAD antes de GET (más corto en respuestas que soportan HEAD)
```bash
python3 SymfonyScanner.py https://example.com --head-first
```
# [+] Ralentizar por petición (delay) — por hilo
```bash
# cada hilo espera ~100ms antes de cada petición
python scanner.py https://example.com --threads 20 --delay 0.1
```
# Opciones:
```bash
• -w, --wordlist → Archivo de rutas adicionales.
• -p, --paths → Rutas extra por CLI (/health /metrics).
• --codes → Filtrar solo ciertos códigos de estado (200,301,302,403).
• --head-first → Intenta HEAD antes de GET (más sigiloso).
• --proxy → Enviar tráfico a un proxy (http://127.0.0.1:8080).
• --threads → Número de hilos concurrentes (default: 20).
• --format y --out → Guardar resultados en json o csv.
```
# Escanear una app Symfony filtrando solo respuestas relevantes:
```bash
python3 SymfonyScanner.py https://target.com --head-first --codes 200,301,302,401,403
```
# Las no coincidencias:
```bash
python3 SymfonyScanner.py https://target.com --head-first --codes 200,301,302,401,403 --verbose
```
# Escanear con wordlist y guardar en CSV:
```bash
python3 SymfonyScanner.py https://target.com -w symfony-common.txt --format csv --out resultados.csv
```
---
## 🏴☠️ Ejemplo de salida
```bash
====================================================================================
☠️ Symfony Endpoint Scanner v1.3.0 ☠️
Busca rutas públicas comunes de Symfony
+ Smart placeholders & fuzzing
====================================================================================
☠️ Escaneando endpoints comunes de Symfony en: https://target.com
[+] [base] https://target.com/_profiler (Status 200) (123 ms) [text/html] | X-Debug-Token presente (Symfony Profiler)
[-] [base] https://target.com/build/vendor.js (Status 404) (45 ms) [text/html]
[+] [base] https://target.com/_wdt/abcdef1234 (Status 200) (98 ms) [text/html]
» Lanzando fuzzing dirigido: 12 variantes | hilos=8
[+] [fuzz] https://target.com/_wdt/0000000000000000 (Status 200) (91 ms) [text/html] [parent=/ _wdt/abcdef1234]
[-] [fuzz] https://target.com/_wdt/deadbeef (Status 404) (87 ms) [text/html] [parent=/ _wdt/abcdef1234]
```
---
## 🏴☠️ Apóyame
Si esta herramienta te ha sido útil o quieres apoyar futuros desarrollos, puedes invitarme un café ☕ o hacer una donación. ¡Cualquier apoyo cuenta!
[](https://www.paypal.com/paypalme/moften)
---
## 🏴☠️ Contacto y redes
- 💌 Correo: [m10sec@proton.me](mailto:m10sec@proton.me)
- 🌐 Blog: [https://m10.com.mx](https://m10.com.mx)
- 🐦 Twitter: [@hack4lifemx](https://twitter.com/hack4lifemx)
- 💼 LinkedIn: [Francisco Santibañez](https://www.linkedin.com/in/franciscosantibanez)
- 🐙 GitHub: [github.com/m10sec](https://github.com/moften)
---
## 🏴☠️ Filosofía
Creo en un mundo donde los usuarios tienen control sobre su privacidad. Esta herramienta nace desde la trinchera del pentesting real, con amor por la libertad digital y el hacking con propósito.
---
⭐ Si te gustó este proyecto, dale una estrella en GitHub y compártelo con tu comunidad.
Si este proyecto te sirve, puedes invitarme un café ☕