Я пытаюсь выполнить атаку переполнения буфера для данного уязвимого кода.Но кажется, что это идет не так, потому что, хотя мои строки эксплойта не повреждают стек, я не могу заставить мой код сборки (встроенный в строку эксплойта) работать вообще.
Вот часть значений памяти передвыполнение инструкции 'ret' программы, которую я хочу атаковать.
0x55683984: 0x5568398c 0x...(old r.a) 0x68e322a1 0x0000c31c
0x55683994: 0xf7fa9400 0x0804a3d7 0x556839c0 0xf7e518d0
На этом этапе все пошло не так, потому что он не может вытолкнуть стек и заставить% eip указать на выталкиваемое значение?Так что мой код сборки эксплойта не работает. (0x68e322a1 0x0000c31c) GDB говорит, что ни одна функция не содержит счетчик программ для выбранного кадра.и когда я пытаюсь выполнить его без отладки, это вызывает ошибку сегментации.
Эта проблема как-то связана с длиной моей сборки?(в данном случае это 6)?
Program received signal SIGSEGV, Segmentation fault.
0x5568398c in ?? ()
(gdb) x 0x5568398c
0x5568398c: 0x68e322a1
как это может произойти, когда я могу видеть, что находится внутри адреса, вызывающего segfault?