hack (что значит "выполнить произвольный программный")

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
kkkggg
Сообщения: 100

hack

Сообщение kkkggg »

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

Суть: Что значит "выполнить произвольный программный код", насколько он произволен?
Если можно раскажите о элементарной реализации буфера, могули я в своей программе назвать буфером char m[20] а его переполнением выход за его пределы, разве программа мне это позволит?
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: hack

Сообщение Liksys »

1) Это означает возможность запуска любой программы.
2) Программа позволит выйти в любое доступное адресное пространство, отведенное процессу,
если же прога сунется без рутовых прав куда - нибудь в область ядра или в область памяти другого поцесса, предварительно не договорившись с этим процессом, ядро убьет его мощным заклинанием типа "Segmentation fault",

Грамотные программисты стараются везде ставить проверку счетчиков на массивы, ограничения на размеры.
Проблема может скрываться в неграмотном распределении памяти, и утечки оной.

Переполнение буфера вызывается, в общем случае, в копировании данных из одного участка памяти данных в другой участок, без проверки того, достаточно ли там места.

Ошибка заключается в том, что в каком-либо месте программы происходит копирование данных из одного участка памяти в другой без проверки того, достаточно ли для них места там, куда их копируют. Область памяти, куда копируются данные, принято называть буфером. Таким образом, если данных слишком много, то часть их попадает за границы буфера - происходит "переполнение буфера". Умелое использование того, куда попадают "лишние данные" может позволить злоумышленнику выполнить любой код на компьютере, где произошло переполнение.


Подробнее смотри на http://www.codenet.ru/progr/asm/overflow.php
Спасибо сказали: