0

私は ret-to-libc 攻撃を試みており、次のコードを使用して環境変数 /bin/bash のアドレスを取得しています。

#include <unistd.h>
int main(void)
{

  printf("bash address: 0x%lx\n", getenv("SHELL"));
 return 0;
}

gdb の x コマンドを使用して、このコードによって返されたアドレスが正しいかどうかを確認すると、最初は正しく表示されます。しかし、他のプログラムが実行されると、このアドレスは自動的に変更されます。この環境変数のアドレスを一定に保つにはどうすればよいですか? このアドレスをバッファ オーバーフローに使用していますが、実行するたびに変化し続けるため、攻撃が成功することはありません。助言がありますか?

4

1 に答える 1