Простейший способ воспользоваться уязвимостью форматирующей строки - добиться отказа в обслуживании в результате аварийного завершения атакованной программы. Аварийно завершить программу легко, если использовать для этого спецификации формата.

Для некоторых спецификаций преобразования требуется задать указатели на правильные адреса памяти. Одной из них является спецификация преобразования %п, которая чуть позже будет детально рассмотрена. Другая - спецификация вывода строки %s, для правильной работы которой нужен указатель на строку, завершающуюся нулевым байтом. Если злоумышленник воспользуется форматирующей строкой с одной из рассмотренных спецификаций преобразования, но указанные адреса памяти окажутся недействительными, то программа аварийно завершится при попытке разыменования указателя. Это зачастую приводит к отказу в обслуживании, не требуя применения каких-либо сложных методов.

Было известно немного проблем с использованием форматирующей строки до тех пор, пока кто-то не понял, как с помощью форматирующих строк можно проводить атаки. Например, было известно, что клиент BitchX IRC может аварийно завершиться при передаче ему строки %s%s%s%s в качестве одного из параметров команды IRC (Internet Relay Chat -Интернетовские посиделки). (IRC - глобальная система, посредством которой пользователи могут общаться друг с другом в реальном масштабе времени.) Но насколько известно, никто не догадывался, что эту идею можно использовать для взлома, пока не стало известно об атаке на FTP-демон Вашингтонского университета.

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

Переполнение буфера с помощью ошибок форматирующей строки | Защита от хакеров корпоративных сетей | Тение памяти


Защита от хакеров корпоративных сетей



Новости за месяц

  • Август
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс