
Extension Burp Suite pour l'analyse statique JavaScript : extrait les points de terminaison d'API, les URL, les secrets et les e-mails avec filtrage du bruit pour les tests de sécurité web.
Une puissante extension Burp Suite pour l'analyse statique de JavaScript. Extrait les endpoints d'API, les URL, les secrets et les adresses e-mail des fichiers JavaScript avec un filtrage intelligent du bruit. L'objectif est de réduire le bruit autant que possible pour garantir la précision.
Extensions > Extensions-Settings > Python EnvironmentExtensions > Installed > AddPython et naviguez jusqu'à js_analyzer.pyVous pouvez sélectionner plusieurs requêtes depuis l'historique HTTP ou le Dashboard et les envoyer toutes ensemble à JS Analyzer.
| Motif | Exemple |
|---|---|
| Chemins d'API | /api/v1/users, /api/v2/auth |
| Endpoints REST | /rest/data, /graphql |
| OAuth/Auth | /oauth2/token, /auth/login, /callback |
| Routes d'administration | /admin, /dashboard, /internal |
| Well-known | /.well-known/openid-configuration |
| Type | Motif |
|---|---|
| Clé d'accès AWS | AKIA[0-9A-Z]{16} |
| Clé API Google | AIza[0-9A-Za-z\-_]{35} |
| Clé Live Stripe | sk_live_[0-9a-zA-Z]{24,} |
| PAT GitHub | ghp_[0-9a-zA-Z]{36} |
| Jeton Slack | xox[baprs]-... |
| JWT | eyJ... |
| Clés privées | -----BEGIN PRIVATE KEY----- |
| URL de base de données | mongodb://, postgres://, mysql:// |
#Remarque : N'hésitez pas à forker et à ajouter d'autres détections de secrets selon vos besoins.
L'extension filtre automatiquement :
schemas.openxmlformats.org, www.w3.org)./, ../, @angular/, etc.)/Type, /Font, /Filter)xl/, docProps/, worksheets/)en.js, fr-ca.js)sha.js, aes, bn.js)Détecte les références à des types de fichiers sensibles :
| Catégorie | Extensions |
|---|---|
| Données | .sql, .csv, .xlsx, .json, .xml, .yaml |
| Configuration | .env, .conf, .ini, .cfg, .config |
| Sauvegarde | .bak, .backup, .old, .orig |
| Certificats | .key, .pem, .crt, .p12, .pfx |
| Documents | .pdf, .doc, .docx |
| Archives | .zip, .tar, .gz |
| Scripts | .sh, .bat, .ps1, .py |
Pour une utilisation dans vos propres projets Python ou API :
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 # Main Burp extension entry point
├── ui/
│ ├── __init__.py
│ └── results_panel.py # Burp UI panel
├── README.md
└── LICENSE
Les contributions sont les bienvenues ! N'hésitez pas à :
Licence MIT - voir le fichier LICENSE.
Inspiré par :
Jenish Sojitra (https://x.com/_jensec)
Créé avec ❤️ pour la communauté InfoSec et Tech.