Skip to content

spbu-coding-2022/5-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Задача 5

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

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

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

Сдача задания

  • Код программы необходимо добавить в папку src/ и прописать путь до него при создании исполняемой цели в CMakeLists.txt. Также необходимо указать в target_compile_options все опции компилятора, которые необходимы для успешного проведения атаки. Важно! При тестировании решения компиляция будет производиться компилятором gcc 7.5.0. Запуск программы будет происходить на Ubuntu 18.04. Запуск программы будет осуществляться командой setarch `uname -m` -R ./main (ASLR будет отключен).
  • В папке test/ заполнить файлы следующим образом:
    • normal_input.txt: ввод, при котором происходит возврат в main, и программа корректно завершается;
    • hacker_input.txt: ввод, при котором происходит возврат в other;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages