我正在尝试基于缓冲区溢出漏洞(在 x86-32 linux 机器上)的利用来自动执行 return-to-libc 攻击。 我需要一种在不使用 gdb 的情况下在 libc 中找到 execve 函数地址的方法:
(gdb) p 执行
$1 = {} 0xf7ec1b30
禁用 ASLR 保护以允许此技术。
有没有办法获取libc中函数的地址作为execve?使用程序或任何其他可自动化的方式? (没有 gdb,因为它在 bash 脚本或 C 程序中不可自动化)。
欢迎提出任何建议。
最佳答案
这是一个技巧问题还是做这样的事情不起作用:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int
main (int argc, char **argv)
{
void *a = execv;
printf ("execv is at %p\n", a);
exit (0);
}
在这里工作。
关于c - 在没有 gdb 的情况下获取 libc (execve) 中函数的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22992861/