*голосом автора учебника начинающего хакера* Итак, простейшим тестом мы убедились, что подача на вход заведомо неверных данных вызывает падение программы. Более того, падение происходит по адресу 41414141h; поскольку мы подали на вход постоянный поток из байт 41h, это означает, что в какой-то момент программа передаёт управление на адрес, который считывается из наших данных. Таким образом, мы можем, правильно сформировав некоторый кусок данных, передать управление куда угодно, в том числе на другой кусок наших же данных, - то есть получить возможность выполнения нашего кода и, как следствие, полный контроль над удалённой машиной.
Пример формирования зловредного пакета приводить или дальше мне на слово поверите? Мне лень, но там нет совершенно ничего сложного.
|