Я создал приложение Django. В приложении есть функция входа в систему. (обратный адрес) (обратный адрес) (обратный адрес) (обратный адрес) (NOP) (NOP) (NOP) (NOP) ... (NOP) (NOP) (NOP) (NOP) (SHELLCODE)
Я также понимаю, что успешное выполнение шелл-кода зависит от нескольких вещей:
Я не понимаю, как вредоносные программы, использующие эту технику, всегда могут исправить эти две вещи. Мне кажется, что для создания рабочей полезной нагрузки злоумышленник должен знать приблизительный адрес целевого буфера и его приблизительное расстояние от адреса возврата.
Эти два параметра обычно довольно детерминированы? Например, если злоумышленник проведет несколько сеансов проб и ошибок, пока он не заработает на его машине, будет ли эта же полезная нагрузка работать на всех других машинах с такими же двоичными файлами?