返回Libc函数地址探测

时间:2015-04-15 18:29:37

标签: c security buffer-overflow libc

我试图通过使用gdb查找system()的地址并返回到/bin/sh作为参数传递给system()的地址来尝试实现返回libc缓冲区溢出攻击1}}在堆栈上。唯一的问题是,我无法找到system()所在的内存中的地址,因为在gdb中运行print system会返回"没有加载符号表。使用"文件"命令。",这并不是特别有用,因为将libc.so加载到gdb并没有任何好处。有没有办法可以在libc中找到我没有通过标题包含的函数地址?

作为参考,我在下面测试的代码如下,启用了DEP,并禁用了ASLR。

#include <stdio.h>
#include <string.h>

void foo(char *arg) {
    char buf[100];
    strcpy(buf, arg);
}

int main(int argc, char **argv) {
    foo(argv[1]);
    return 0;
}

0 个答案:

没有答案