Text Based Injection | Content Spoofing
Внедрение на основе текста. Внедрение текста или внедрение на основе текста (TBI) — это внедрение, при котором пользовательский ввод отражается так же, как и в ответе приложения, в виде открытого текста. Это один из способов подмены контента, также называемый внедрением контента или виртуальным искажением, который можно использовать в фишинговых атаках.
Приложение уязвимо для внедрения текста, если оно неправильно обрабатывает предоставленные пользователем данные. Злоумышленник может предоставить контент веб-приложению, как правило, через значение параметра или только из URL-адреса, который отражается обратно пользователю. Пользователю будет представлена измененная страница в контексте доверенного домена.
Тип атаки: уязвимость на стороне клиента
Руководство по аудиту
Внедрение текста можно легко найти там, где
- Ввод пользователя через параметр или непосредственно в URL отражается в ответе страницы..
- Content-Type: текстовый/обычный
- Приложение выдает страницы ошибок по умолчанию
Доказательство концепции
Если вы исследуете немного больше, чтобы понять, почему это происходит и в чем здесь проблема. Вы получите ответ на вопрос «в чем проблема», что приложение выдает страницу ошибки по умолчанию.
На вопрос «почему это происходит» мы знаем ответ, верно?
В любом случае, ответ, вводимый пользователем через параметр или непосредственно в URL-адресе, отражается в ответе страницы.
URL - https://example.com/captcha
URL-адрес: https://example.com/captcha/SS%2F%20%20%20is%20not%20available.%20Please%20visit%20-%20-%20-%20-%20https://attacker.com %20%20-%20-%20-%20-%20ас%20ресурс%20
Google очень хорошо обрабатывает страницы ошибок. Вот скриншот для справки.
Влияние
Злоумышленник может использовать уязвимость внедрения текста, чтобы представить настроенное сообщение в приложении, которое может заставить пользователей поверить в подлинность сообщения. Намерение типично для жертв, хотя иногда фактическая цель может заключаться в том, чтобы просто представить в ложном свете организацию или человека. Эта атака обычно используется как социальная инженерия или в сочетании с ней, поскольку атака использует уязвимость в коде и доверие пользователя. В качестве примечания, эта атака широко ошибочно понимается как своего рода ошибка, которая не оказывает никакого влияния.
Рекомендации
Приложение должно принимать только те значения и типы, которые определены для параметров, и должно проверяться на стороне сервера на наличие измененного содержимого, если есть изменение, то приложение должно отклонить этот запрос. Кроме того, никогда не создавайте и не отправляйте сообщения через URL-адрес в ответе страницы. Предпочтительнее использовать сообщения, предварительно определенные в файле свойств.
Для страниц ошибок по умолчанию
В конфигурации приложения должна быть указана страница ошибок по умолчанию, чтобы гарантировать, что приложение никогда не передаст сообщения об ошибках злоумышленнику. Обработка стандартных кодов ошибок HTTP удобна для пользователя в дополнение к хорошей практике безопасности и может быть выполнена путем указания пользовательских страниц ошибок для таких кодов ошибок, как 404, 403, 500 и т. д.