JavaScript-файлы — кладезь информации для хакера. В них часто прячутся: API-ключи, токены, внутренние маршруты и многое другое. Разбираемся по шагам:
1. Находим JavaScript-файлы
🔘 DevTools → Network → фильтр JS
🔘 Поиск в HTML: <script src=...>
🔘 Через robots.txt, sitemap.xml — могут быть нестандартные пути
🔘 Массовый сбор:
gau example.com | grep "\.js"
subjs -i example.com
2. Красиво форматируем код
🔘 Сохраняем файл:
curl -s https://example.com/static/app.js -o app.js
🔘 Преобразуем в читаемый вид:
js-beautify app.js -o app_pretty.js
3. Ищем ключи и токены
🔘 Регулярный поиск чувствительных строк:
grep -Ei 'apikey|token|secret|authorization|bearer' app_pretty.js
⚠️ Обратите внимание на:
firebaseConfig, AWS.config.update, process.env, window._env_, accessKey, clientSecretТакже можно подключить:
trufflehog --regex --entropy=True --json app_pretty.js
4. Извлекаем внутренние API и маршруты
🔘 Подозрительные запросы:
fetch("/api/internal/user/settings")
axios.post("/admin/config»)
⚠️ Полезные шаблоны:
— /v1/private/, /internal/, /debug/
— /graphql, /admin/, /api/secret
— нестандартные порты: 3000, 5000, 8080
🔘 Используйте LinkFinder:
python3 linkfinder.py -i app.js -o cli
5. Анализируем бизнес-логику
🔘 Примеры опасных конструкций:
if (user.role === 'admin') { ... }
if (!user.isLoggedIn) { return; }
🔘 Смотрите, как собираются токены:
headers: {
Authorization: `Bearer ${localStorage.getItem("jwt")}`
}
6. Ищем DOM-based XSS
🔘 Уязвимые конструкции:
element.innerHTML = location.hash;
document.write(decodeURIComponent(param));
💡 JS-файлы — это раскрытая подноготная фронта. Один пропущенный файл может стоить компании доступа к внутреннему API, админке или ключам.
🐸 Библиотека хакера
#буст
