April 18, 2022

SSRF. Заставляем сайт делать нам запросы

Всем доброго времени суток, с вами команда E7TEAM

Введение:

Сегодня мы поговорим о SSRF или Server Side Request Foregy. Что же это такое?

Коротко, мы подделываем запросы сервера, заставляя его послать запрос на наш сервер. Чем это может быть опасно?

Некоторые сервисы доступны только изнутри сети, с помощью SSRF мы можем их просканировать и найти больше уязвимостей!

Основное:

Давайте разберемся где и как происходит уязвимость, самый банальный пример - wikidot.com

В профиле пользователя мы можем изменить аватар, залить файл можно двумя способами:

  1. С компьютера
  2. С другого сайта

Нас интересует второй вариант, создадим iplogger на картинку с котиками и

заставить сайт забрать ее от туда.

После этого в панеле логгера мы увидим запрос от сайта!

В данном случае мы имеем дело с Blind SSRF, чем это отличается от обычного?

Уязвимый сайт не выдает никаких данных и мы работаем в слепую, но это не значит что мы не можем просканировать внутренние порты!

Откроем Burp, Proxy, Open Browser:

Теперь заходим в раздел смену аватрки, вводим http://127.0.0.1:1 - порт со 100 процентной вероятностью закрыт. Заходим в Burp в раздел Logger и после этого нажимаем Upload.

Сайт вернул ошибку за 342 мсекунды, запоминаем.

Теперь вводим порт 222(http://127.0.0.1:222), на нем стоят ssh клиенты у данного сайта:

Запрос шел на секунду дольше, скорее всего порт открыт!

Заключение:

SSRF хоть и не представляет возможности исполнять код(в одиночку), но все равно представляет большой интерес и имеет свою цену. Обязательно знать!