UnixGo
Мастерство приходит только с практикой.

Переполнение стека с отличиями

Этот уровень довольно прямолинейный. Просто сядьте и разберитесь что делает код ниже. Ваш шелл-код потребует setuid(LEVEL4_UID) (установку ID пользователя во время выполнения) поскольку bash сбрасывает необходимые привелегии. Либо вы можете написать setuid(geteuid()) обёртку вокруг bash скрипта.

Примечение: конструктор/деструктор может быть недоступен для записи, несмотря на то что этот уровень скомпилирован с ключом -Wl,-z,norelro. Поищите информацию на эту тему, например здесь

Полезные материалы для чтения

Included file: vortex3.c