[英]debugging root application on linux with GDB
我正在研究一本名為“黑客的藝術”的書,並且根據理論,我試圖針對真正的舊漏洞進行一些練習,而只是進行一些練習。
因此,我“配置”,“ make”和“ make install”一個易受攻擊的ftp服務,然后以root用戶身份啟動它。
此時,我需要在以根用戶身份運行時調試ftp服務。 從這本書中我了解到,要為這種情況創建可行的漏洞利用程序,我需要在服務作為root運行時研究堆棧,以了解我所使用的程序的真實“堆棧情況”想要工作...並做到這一點,我需要將我的gdb附加到正在運行的進程中!
我的問題是當我啟動命令時
gdb
我的gdb正在附加到進程中,但是當然我有任何符號加載,也有可能研究程序堆棧。
由於我擁有應用程序的所有源代碼,因此如何編譯它們以創建調試正在運行的進程所需的符號?
您需要在編譯標志中添加-g
。 大多數軟件包將使用configure --enable-debug
來執行此操作,但如果不起作用,則可能需要先執行諸如使用export CFLAGS=-g
設置CFLAGS
環境變量之類的操作,然后再運行configure。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.