
Extensión de Burp Suite para análisis estático de JavaScript: extrae endpoints de API, URLs, secretos y correos electrónicos con filtrado de ruido para pruebas de seguridad web.
Una potente extensión de Burp Suite para análisis estático de JavaScript. Extrae endpoints de API, URLs, secretos y direcciones de correo electrónico de archivos JavaScript con un filtrado inteligente de ruido. El objetivo es reducir el ruido tanto como sea posible para garantizar la precisión.
Extensions > Extensions-Settings > Python EnvironmentExtensions > Installed > AddPython y navega hasta js_analyzer.pyPuedes seleccionar varias solicitudes de HTTP history o Dashboard y enviarlas todas juntas a JS Analayzer.
#Nota: Siéntete libre de hacer fork y añadir más detecciones de secretos según sea necesario.
La extensión filtra automáticamente:
schemas.openxmlformats.org, www.w3.org)./, ../, @angular/, etc.)/Type, /Font, /Filter)xl/, docProps/, worksheets/)en.js, fr-ca.js)sha.js, aes, )Detecta referencias a tipos de archivos sensibles:
Para usar en tus propios proyectos de Python o APIs:
from js_analyzer_engine import JSAnalyzerEngine
engine = JSAnalyzerEngine()
results = engine.analyze(javascript_content)
print(results["endpoints"]) # ['/api/v1/users', ...]
print(results["urls"]) # ['https://api.example.com', ...]
print(results["secrets"]) # [{'type': 'AWS Key', 'value': '...', 'masked': '...'}, ...]
print(results["emails"]) # ['[email protected]', ...]
from flask import Flask, request, jsonify
from js_analyzer_engine import JSAnalyzerEngine
app = Flask(__name__)
engine = JSAnalyzerEngine()
@app.route('/analyze', methods=['POST'])
def analyze():
content = request.json.get('content', '')
results = engine.analyze(content)
return jsonify(results)
if __name__ == '__main__':
app.run(port=5000)
JSextension/
├── js_analyzer.py # Punto de entrada principal de la extensión de Burp
├── ui/
│ ├── __init__.py
│ └── results_panel.py # Panel de la interfaz de Burp
├── README.md
└── LICENSE
¡Las contribuciones son bienvenidas! Siéntete libre de:
Licencia MIT: consulta el archivo LICENSE.
Inspirado por:
Jenish Sojitra (https://x.com/_jensec)
Creado con ❤️ para la comunidad de InfoSec y Tecnología.
| Patrón | Ejemplo |
|---|
| Rutas de API | /api/v1/users, /api/v2/auth |
| Endpoints REST | /rest/data, /graphql |
| OAuth/Autenticación | /oauth2/token, /auth/login, /callback |
| Rutas de administración | /admin, /dashboard, /internal |
| Well-known | /.well-known/openid-configuration |
| Tipo | Patrón |
|---|
| Clave de acceso de AWS | AKIA[0-9A-Z]{16} |
| Clave de API de Google | AIza[0-9A-Za-z\-_]{35} |
| Clave Live de Stripe | sk_live_[0-9a-zA-Z]{24,} |
| GitHub PAT | ghp_[0-9a-zA-Z]{36} |
| Token de Slack | xox[baprs]-... |
| JWT | eyJ... |
| Claves privadas | -----BEGIN PRIVATE KEY----- |
| URLs de bases de datos | mongodb://, postgres://, mysql:// |
bn.js| Categoría | Extensiones |
|---|
| Datos | .sql, .csv, .xlsx, .json, .xml, .yaml |
| Configuración | .env, .conf, .ini, .cfg, .config |
| Copia de seguridad | .bak, .backup, .old, .orig |
| Certificados | .key, .pem, .crt, .p12, .pfx |
| Documentos | .pdf, .doc, .docx |
| Comprimidos | .zip, .tar, .gz |
| Scripts | .sh, .bat, .ps1, .py |