отладка корневого приложения в linux с помощью GDB - PullRequest
0 голосов
/ 06 ноября 2010

Я учусь на книге под названием «искусство взлома», и после теории я пытаюсь выполнить некоторые упражнения на реальных старых уязвимостях, просто чтобы выполнить некоторые упражнения.

Итак, я »configure "," make "и" make install "уязвимая служба ftp, а затем я запускаю ее как root.

На этом этапе мне нужно отладить службу ftp, пока она работает от имени root.Из книги я понял, что для создания рабочего эксплойта для подобного случая мне нужно изучить стек, пока служба работает от имени пользователя root, чтобы создать реальную «ситуацию со стеком» программы, в которой я работаю.хочу работать ... и для этого мне нужно присоединить мой gdb к запущенному процессу!

Моя проблема в том, что когда я запускаю команду

gdb

myGDB присоединяется к процессу, НО, конечно, у меня есть любой загруженный символ и любая возможность изучить стек программы.

Поскольку у меня есть все источники приложения, как я могу скомпилировать их, чтобы создать символы, необходимые для отладки запущенного процесса?

1 Ответ

1 голос
/ 06 ноября 2010

Вам необходимо добавить -g к флагам компиляции.Большинство пакетов делают это с configure --enable-debug, но вам может потребоваться сделать что-то вроде установки переменной среды CFLAGS с помощью export CFLAGS=-g перед запуском configure, если это не сработает.

...