Инструмент для обнаружения конечных точек JS
В этой статье я поделюсь одним из своих недавних открытий, который в основном связан с файлами JS. В котором я расскажу вам, как эти файлы JS помогут вам найти ошибки высокой степени серьезности.
Если вы слишком ленивы, я предлагаю вам использовать этот инструмент, т.е. LinkFinder. Это инструмент для обнаружения конечных точек JS, написанный GerbenJavado. Вы можете найти его здесь, LinkFinder .
Но лично я предпочитаю делать это вручную. Потому что иногда автоматизированные инструменты оказываются бесполезными и пропускают некоторые важные вещи. Итак, приступим.
Фаза 1: извлечение файлов JS и их украшение:
- Извлечь файлы JS из исходного кода redacted.com
- Bash, который я использовал для извлечения файлов .js с помощью waybackurl :
Extraction(){ waybackurl $1| grep -iE “\.js$” | uniq | sort }
3. Для украшения кода JS я использовал js-beautify для красивого вывода кода js (довольно просто).
js-beautify <file.js> | tee -a <beautify.js>
Вы можете установить его по приведенной ниже ссылке:
https://www.npmjs.com/package/js-beautify
Фаза 2: Поиск шаблонов и конечных точек в файлах JS:
{api_key, api-key, apikey , api , access , AccessToken , gmap , gmaps , algolia_api_key , credentials, etc..}
2. Сопоставление конечных точек, которые вы нашли при чтении JS-файла. (важный)
3. Большинство охотников за ошибками пропускают второй пункт только потому, что они не могут наметить правильные конечные точки, что приводит к ошибкам безопасности высокой степени серьезности и теряет шансы получить ошибки высокой степени серьезности.
ПРИМЕЧАНИЕ. Прочитайте каждый путь и попробуйте сопоставить эти конечные точки, пока не добьетесь успеха. Потому что файл JS содержит все решения, связанные с сопоставлением конечных точек.
Этап 3. Поиск соответствующей документации:
- Если вы нашли какой-либо ключ Rest-Api-Key, перейдите к его документации Api (поищите в Google соответствующие документы Api) и поймите, как он работает и как вы будете использовать его для получения доступа к целевой системе.
- Keyhacks (это поможет вам для быстрой эксплуатации. Поскольку этот репозиторий содержит более 50 рабочих конечных точек различных ключей Rest-API).
Теперь давайте взглянем на мой раскрытый отчет, где я нашел HelpShift-Rest-Api-Key, с помощью которого я могу изменить содержимое учетных записей, а также я могу удалить учетные записи redacted.com.
Шаги для воспроизведения (в соответствии с отчетом):
Поиск ключа API:
- Перейдите на « https://redacted.com/dist/main.7be5c75d761008c183e6.min.js ».
- Анализируя код JS, вы найдете значение base64 в параметре HelfShiftApiKey.
Полная эксплуатация:
- Перейдите на « https://apidocs.helpshift.com » и введите необходимые данные.
- Вы получили Swagger API и успешно вошли в систему. Теперь делай все, что хочешь.
Примечание. Вы также можете использовать команду curl:
curl -X PUT — header ‘Content-Type: application/x-www-form-urlencoded’ — header ‘Accept: application/json’ — header ‘Authorization: Basic <base64_API_Key>’ -d ‘username=<username>’ ‘https://api-a.helpshift.com/v1/<domain_name>/users/<profile_id>'
вы можете получить все идентификаторы профиля из запроса getUser.
Наш канал - https://t.me/webhack_kakao