May 18, 2023

Инструмент для обнаружения конечных точек JS

В этой статье я поделюсь одним из своих недавних открытий, который в основном связан с файлами JS. В котором я расскажу вам, как эти файлы JS помогут вам найти ошибки высокой степени серьезности.

Если вы слишком ленивы, я предлагаю вам использовать этот инструмент, т.е. LinkFinder. Это инструмент для обнаружения конечных точек JS, написанный GerbenJavado. Вы можете найти его здесь, LinkFinder .

Но лично я предпочитаю делать это вручную. Потому что иногда автоматизированные инструменты оказываются бесполезными и пропускают некоторые важные вещи. Итак, приступим.

Фаза 1: извлечение файлов JS и их украшение:

  1. Извлечь файлы JS из исходного кода redacted.com
  2. 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:

  1. Это несколько шаблонов, которые я использую при чтении любого файла JS.

{api_key, api-key, apikey , api , access , AccessToken , gmap , gmaps , algolia_api_key , credentials, etc..}

2. Сопоставление конечных точек, которые вы нашли при чтении JS-файла. (важный)

3. Большинство охотников за ошибками пропускают второй пункт только потому, что они не могут наметить правильные конечные точки, что приводит к ошибкам безопасности высокой степени серьезности и теряет шансы получить ошибки высокой степени серьезности.

ПРИМЕЧАНИЕ. Прочитайте каждый путь и попробуйте сопоставить эти конечные точки, пока не добьетесь успеха. Потому что файл JS содержит все решения, связанные с сопоставлением конечных точек.

Этап 3. Поиск соответствующей документации:

  1. Если вы нашли какой-либо ключ Rest-Api-Key, перейдите к его документации Api (поищите в Google соответствующие документы Api) и поймите, как он работает и как вы будете использовать его для получения доступа к целевой системе.
  2. Keyhacks (это поможет вам для быстрой эксплуатации. Поскольку этот репозиторий содержит более 50 рабочих конечных точек различных ключей Rest-API).

Теперь давайте взглянем на мой раскрытый отчет, где я нашел HelpShift-Rest-Api-Key, с помощью которого я могу изменить содержимое учетных записей, а также я могу удалить учетные записи redacted.com.

Шаги для воспроизведения (в соответствии с отчетом):

Поиск ключа API:

  1. Перейдите на « https://redacted.com/dist/main.7be5c75d761008c183e6.min.js ».
  2. Анализируя код JS, вы найдете значение base64 в параметре HelfShiftApiKey.
Ключ API для отдыха HelpShift

Полная эксплуатация:

  1. Перейдите на « https://apidocs.helpshift.com » и введите необходимые данные.
  2. Вы получили 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