Атака на докер контейнер

Реализовать атаку buffer overflow, написав заведомо небезопасную функцию чтения. Код программы должен содержать процедуры или функции main, input, other.

Функция main вызывает input, в которой происходит небезопасное чтение из стандартного потока ввода. Необходимо подобрать ввод, который приводит к возврату из функции input в функцию other. Функция, в которую произошёл возврат, печатает информацию, демонстрирующую, куда произошёл возврат.

Если возврат произошёл в функцию main программа должна корректно доработать и завершиться с кодом возврата 0.

Если возврат произошёл в функцию other, корректное продолжение и завершение работы программы не требуется, но перед заверешнием программа должна написать в стандартный поток ошибок other.

Функции main и input могут печатать дополнительную информацию, поясняющую их работу.

Также необходимо указать в target_compile_options и target_link_options все опции компилятора и компоновщика, которые необходимы для успешного проведения атаки. Важно! При тестировании решения компиляция и запуск будет производиться в docker-контейнере, развёрнутом из образа

В папке test/ заполнить файлы следующим образом:

normal_input.txt: ввод, при котором происходит возврат в main, и программа корректно завершается;

hacker_input.txt: ввод, при котором происходит возврат в other.