Обход аутентификации с использованием root-массива

Обход аутентификации с использованием root-массива

Этичный Хакер

Привет, охотники за ошибками! Сегодня у нас новая статья об одной из моих находок во время пентеста. Метод, который мы использовали для обхода, сложен, и я хочу поделиться им с вами, так что давайте начнем.

Обзор

Клиент выполняет процесс входа в систему, отправляя учетные данные и получая ответ в формате JSON. Хитрость заключается в том, чтобы поместить свои учетные данные в root массив, и если на бэкэнде есть массив с таким именем, это будет работать.

Обратите внимание, что цель использовала Cloudflare в качестве сервера, поэтому было сложно сосредоточиться на инъекциях.

Действия по воспроизведению уязвимости

1. Попробуйте войти в систему с фиктивными учетными данными, чтобы проверить запрос и ответ.

Вы уже заметите, что учетные данные отправляются в формате JSON, и ответ также будет в формате JSON. На данный момент я пробовал несколько трюков, таких как:

Изменить false на true → Неудачно
Изменить сообщение на "Success" → Неудачно
Удалить всё сообщение → Неудачно
Удалить статус → Неудачно

2. Пришло время поиграть с JSON-данными запроса.

Измените данные с:
{"email":"test@aykalam.com","password":"test"}

на такие:
{"root": {
  "password": "test",
  "email": "test@aykalam.com"
}}

Ответ будет содержать все данные, относящиеся к пользователю root.

3. Попробуйте перехватить запрос, изменить данные JSON так, как мы сделали выше и отправить запрос.

4. Вы войдете в систему как администратор.

Примечания

  1. Если цель отправляет ваши учетные данные в формате JSON, это не означает, что цель уязвима.
  2. Прежде чем сдаться, попробуйте изменить имя массива на admin или root , или user , или administrator и т.д.
  3. Если ответ в формате JSON, попробуйте манипулировать ответом и кодом состояния.

На этом все, спасибо за просмотр!



Report Page