Надо сделать переполнение переменной username в bss секции и стать админом.

Solution
Строк почти нет. Перейду к реверсу.
Анализ main
int32_t main(int32_t argc, char** argv, char** envp)
is_admin = 0
printf(format: "Enter your name: ")
__isoc99_scanf(format: "%s", &username)
if (is_admin == 0)
printf(format: "Welcome, %s!\n", &username)
else
printf(format: "Welcome back, admin!\nHere is your flag: %s\n", getenv(name: "FLAG"))
return 0
is_admin и username хранятся в секцие .bss.
.bss- это секция, содержащая неинициализированные глобальные и статические переменные.
При этом username лежит над is_admin:

Посмотрю меcто обращения к username:

Отлично. Запись в username идет через scanf прямо в main. Для того, чтобы получить доступ к флагу, нужно записать не нулевое значение в переменную is_flag.
Создание пейлоада
Между этими значениями 0x4041a0 - 0x4040a0 = 256 байт расстояния. Значит для переполнения нужно ввести 256 любых символов и не нулевое значение в is_admin.
Введу 257 рандомных символов:

Отлично. Получу флаг:

spbctf{this_is_simple_overflow}