
웹 보안 테스트를 위해 노이즈 필터링을 적용하여 API 엔드포인트, URL, 비밀 정보, 이메일을 추출하는 JavaScript 정적 분석용 Burp Suite 확장 프로그램입니다.
JavaScript 정적 분석을 위한 강력한 Burp Suite 확장 프로그램입니다. 지능형 노이즈 필터링을 통해 JavaScript 파일에서 API 엔드포인트, URL, 시크릿, 이메일 주소를 추출합니다. 목표는 정확성을 보장하기 위해 노이즈를 최대한 줄이는 것입니다.
Extensions > Extensions-Settings > Python EnvironmentExtensions > Installed > AddPython을 선택하고 js_analyzer.py로 이동HTTP history 또는 Dashboard에서 여러 요청을 선택하여 JS Analyzer로 한 번에 보낼 수 있습니다.
#참고: 필요에 따라 포크하여 더 많은 시크릿 탐지를 추가하세요.
확장 프로그램은 다음 항목을 자동으로 필터링합니다:
schemas.openxmlformats.org, www.w3.org)./, ../, @angular/ 등)/Type, /Font, /Filter)xl/, docProps/, worksheets/)en.js, fr-ca.js)sha.js, aes, )민감한 파일 유형에 대한 참조를 탐지합니다:
자체 Python 프로젝트 또는 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
기여는 언제나 환영합니다! 자유롭게 다음을 수행하세요:
MIT 라이선스 - LICENSE 파일을 참조하세요.
영감을 받은 프로젝트:
Jenish Sojitra (https://x.com/_jensec)
InfoSec 및 기술 커뮤니티를 위해 ❤️로 제작되었습니다.
| 패턴 | 예시 |
|---|
| API 경로 | /api/v1/users, /api/v2/auth |
| REST 엔드포인트 | /rest/data, /graphql |
| OAuth/인증 | /oauth2/token, /auth/login, /callback |
| 관리자 경로 | /admin, /dashboard, /internal |
| Well-known | /.well-known/openid-configuration |
| 유형 | 패턴 |
|---|
| AWS 액세스 키 | AKIA[0-9A-Z]{16} |
| Google API 키 | AIza[0-9A-Za-z\-_]{35} |
| Stripe 라이브 키 | sk_live_[0-9a-zA-Z]{24,} |
| GitHub PAT | ghp_[0-9a-zA-Z]{36} |
| Slack 토큰 | xox[baprs]-... |
| JWT | eyJ... |
| 개인 키 | -----BEGIN PRIVATE KEY----- |
| 데이터베이스 URL | mongodb://, postgres://, mysql:// |
bn.js| 카테고리 | 확장자 |
|---|
| 데이터 | .sql, .csv, .xlsx, .json, .xml, .yaml |
| 설정 | .env, .conf, .ini, .cfg, .config |
| 백업 | .bak, .backup, .old, .orig |
| 인증서 | .key, .pem, .crt, .p12, .pfx |
| 문서 | .pdf, .doc, .docx |
| 압축 파일 | .zip, .tar, .gz |
| 스크립트 | .sh, .bat, .ps1, .py |