Лекция: Для Windows NT это сделать сложнее.

Каким-то образом внедрить свой код в систему (хороший вариант -расположить его все в той же

Строчке). При этом злоумышленнику надо проверить, чтобы вызываемая функция при обработке этой

Строки не испортила данный код. Другая проблема — если process_data() использует strcpy() или любые

Другие стандартные функции работы

Со строками, то код должен быть написан так, чтобы он не содержал нулей, потому что в противном

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

по крайней мере, три нуля: один в конце "/bin/sh" и два NULL. Возможен вариант, когда не обойтись без

Нулей (например, сам адрес возврата должен их содержать), тогда можно, например, зашифровать код

Так, чтобы нули исчезли, а затем в начале кода использовать его расшифровщик.

В 1990 и 1995 годах Кристофером Клаусом (Christopher Klaus) [26] было протестировано около 80

Программ на 9 различных платформах. Специальная программа подавала на вход строки длиной до 100 000

символов. В результате 25-33% программ в 1990 году и 18-23шо в 1995 году работали некорректно — зависали,

Сбрасывали аварийный дамп и т. п. Интересно, что в коммерческих версиях UNIX этот процент доходил до

Тогда как в свободно распространяемых он был меньше 10. Впрочем, справедливости ради надо отметить,

еще рефераты
Еще работы по информатике