
Extensão do Burp Suite para análise estática de JavaScript: extrai endpoints de API, URLs, segredos e e-mails com filtragem de ruído para testes de segurança web.
Uma extensão poderosa do Burp Suite para análise estática de JavaScript. Extrai endpoints de API, URLs, segredos e endereços de e-mail de arquivos JavaScript com filtragem inteligente de ruído. O objetivo é reduzir o ruído ao máximo para garantir a precisão.
Extensions > Extensions-Settings > Python EnvironmentExtensions > Installed > AddPython e navegue até js_analyzer.pyVocê pode selecionar várias requisições do histórico HTTP ou do Dashboard e enviá-las todas juntas para o JS Analayzer.
| Padrão | Exemplo |
|---|---|
| Caminhos de API | /api/v1/users, /api/v2/auth |
| Endpoints REST | /rest/data, /graphql |
| OAuth/Autenticação | /oauth2/token, /auth/login, /callback |
| Rotas de administração | /admin, /dashboard, /internal |
| Well-known | /.well-known/openid-configuration |
| Tipo | Padrão |
|---|---|
| Chave de Acesso AWS | AKIA[0-9A-Z]{16} |
| Chave de API do Google | AIza[0-9A-Za-z\-_]{35} |
| Chave Live do Stripe | sk_live_[0-9a-zA-Z]{24,} |
| PAT do GitHub | ghp_[0-9a-zA-Z]{36} |
| Token do Slack | xox[baprs]-... |
| JWT | eyJ... |
| Chaves Privadas | -----BEGIN PRIVATE KEY----- |
| URLs de Banco de Dados | mongodb://, postgres://, mysql:// |
#Nota: Sinta-se à vontade para fazer um fork e adicionar mais detecções de segredos conforme necessário.
A extensão filtra automaticamente:
schemas.openxmlformats.org, www.w3.org)./, ../, @angular/, etc.)/Type, /Font, /Filter)xl/, docProps/, worksheets/)en.js, fr-ca.js)sha.js, aes, bn.js)Detecta referências a tipos de arquivos sensíveis:
| Categoria | Extensões |
|---|---|
| Dados | .sql, .csv, .xlsx, .json, .xml, .yaml |
| Configuração | .env, .conf, .ini, .cfg, .config |
| Backup | .bak, .backup, .old, .orig |
| Certificados | .key, .pem, .crt, .p12, .pfx |
| Documentos | .pdf, .doc, .docx |
| Arquivos compactados | .zip, .tar, .gz |
| Scripts | .sh, .bat, .ps1, .py |
Para uso em seus próprios projetos Python ou 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 # Main Burp extension entry point
├── ui/
│ ├── __init__.py
│ └── results_panel.py # Burp UI panel
├── README.md
└── LICENSE
Contribuições são bem-vindas! Sinta-se à vontade para:
Licença MIT - consulte o arquivo LICENSE.
Inspirado por:
Jenish Sojitra (https://x.com/_jensec)
Criado com ❤️ para a comunidade InfoSec e Tech.