Я должен написать эксплойт с возвратом в libc для курса по безопасному программному обеспечению.Атака использует простую программу на языке c с помощью переполнения буфера.Размер буфера составляет 666. Программа принимает пользовательский ввод и записывает его в этот буфер.Мне удалось использовать программу, предоставив в качестве входных данных что-то вроде того, что генерируется скриптом Python ниже.
Первый адрес - это адрес системной функции в libc, второй - выход, а третий - в переменной окружения, содержащей путь оболочки.
Адрес средыпеременная не так стабильна.Время от времени он меняется, поэтому мне нужно использовать грубую силу.Есть ли простой способ зацикливать выполнение программ, перебирая адреса памяти в скрипте python или любой другой эквивалентной альтернативе?
Я новичок в командной строке Linux и использовании.
$ /path/to/vulnerable/c_program $(python -c 'print "A"*678 + "\x10\x23\xe6\xb7" + "\x60\x52\xe5\xb7" + "\xcc\xf8\xff\xbf"')