Выбор ответа Senior SSRF, файлы и редиректы обновлено

Обход чёрного списка

Вопрос

Сервис отклоняет URL, если в нём есть localhost или 127.0.0.1. Какой адрес обходит эту проверку и всё равно ведёт на loopback?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: http://2130706433/. 2130706433 это 127.0.0.1, записанный одним десятичным числом, и многие библиотеки его так и понимают. localhost.evil обычный внешний домен (хотя атакующий может направить его DNS на 127.0.0.1, что тоже обход).

Варианты ответа

  1. http://localhost.evil/
  2. http://128.0.0.1/
  3. http://10.0.0.1/
  4. http://2130706433/правильный ответ

Разбор

2130706433 это 127.0.0.1, записанный одним десятичным числом, и многие библиотеки его так и понимают. localhost.evil обычный внешний домен (хотя атакующий может направить его DNS на 127.0.0.1, что тоже обход). 128.0.0.1 не loopback. 10.0.0.1 приватный адрес, но не loopback. Вывод: проверять нужно IP после разрешения имени, а не строку.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.