我是新來的系統安全,我試圖實現一個簡單的返回到libc的利用。隨着GCC的-fno-stack-protector
集,現在我知道如何利用緩衝區溢出錯誤粉碎返回地址。現在我想通過覆蓋地址爲system()
的一個函數的正確返回地址來指定目標程序的控制流程到C的system()
函數(我編譯程序時使用了-static
選項集,以便所有C的標準函數都在可執行代碼)。例如,目標程序是這樣的:x86_64 assembly labguage中stdlib.h的system()函數的參數在哪裏?
int main(int argc, char *argv[]) {
char buffer[8];
gets(buffer);
return 0;
}
我可以用system()
我找到gdb的拆機函數的地址覆蓋main()
的返回地址。我想提供「/ bin/sh」作爲system()
的參數,但我不知道地址空間中的system()
函數的參數在哪裏。任何人都可以幫我弄清楚我在哪裏可以找到論點?