Формат атаки переполнения буфера

Обычно мы все видим базовый формат переполнения буфера, который имеет: - NOP + шелл-код + return_address

Почему мы не используем, NOP + return_address + shellcode? где мы указываем адрес возврата на начало шелл-кода?

Я предполагаю, что это потому, что мы могли бы пытаться записать данные вне сегмента стека, если уязвимость в основном(). Я прав? Если да, то это единственная причина?

О, и да, я не имею в виду другие виды атак, которые используют return-to-libc, ptrace и т. Д .; Я просто хочу знать, почему самая простая атака переполнения буфера демонстрируется первым способом, а не вторым везде.

7
задан Ethan Heilman 20 March 2012 в 19:38
поделиться